# Copyright (c) 2014-present, The osquery authors
#
# This source code is licensed as defined by the LICENSE file found in the
# root directory of this source tree.
#
# SPDX-License-Identifier: (Apache-2.0 OR GPL-2.0-only)

option(OSQUERY_USE_AWS_MEMORY_MANAGEMENT "Set to true to enable the AWS custom memory allocator inside the Amazon SDK")

function(awsSdkCppMain)
  generateAwsCcommonTarget()
  generateAwsChecksumsTarget()
  generateAwsCeventStreamTarget()
  generateAwsSdkCppTargets()

  add_library(thirdparty_aws-sdk-cpp INTERFACE)
  target_link_libraries(thirdparty_aws-sdk-cpp INTERFACE
    thirdparty_aws_ec2
    thirdparty_aws_kinesis
    thirdparty_aws_firehose
    thirdparty_aws_sts
  )
endfunction()

function(generateAwsCcommonTarget)
  set(library_root "${CMAKE_CURRENT_SOURCE_DIR}/aws-c-common_src")
  set(binary_root "${CMAKE_CURRENT_BINARY_DIR}/aws-c-common")

  add_library(thirdparty_aws_c_common STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/array_list.c"
    "${library_root}/source/assert.c"
    "${library_root}/source/byte_buf.c"
    "${library_root}/source/codegen.c"
    "${library_root}/source/command_line_parser.c"
    "${library_root}/source/common.c"
    "${library_root}/source/condition_variable.c"
    "${library_root}/source/date_time.c"
    "${library_root}/source/device_random.c"
    "${library_root}/source/encoding.c"
    "${library_root}/source/error.c"
    "${library_root}/source/hash_table.c"
    "${library_root}/source/linked_hash_table.c"
    "${library_root}/source/log_channel.c"
    "${library_root}/source/log_formatter.c"
    "${library_root}/source/logging.c"
    "${library_root}/source/log_writer.c"
    "${library_root}/source/lru_cache.c"
    "${library_root}/source/priority_queue.c"
    "${library_root}/source/ring_buffer.c"
    "${library_root}/source/string.c"
    "${library_root}/source/task_scheduler.c"
    "${library_root}/source/uuid.c"
  )

  if(DEFINED PLATFORM_POSIX)
    set(additional_source_file_list
      "${library_root}/source/posix/clock.c"
      "${library_root}/source/posix/condition_variable.c"
      "${library_root}/source/posix/device_random.c"
      "${library_root}/source/posix/environment.c"
      "${library_root}/source/posix/mutex.c"
      "${library_root}/source/posix/rw_lock.c"
      "${library_root}/source/posix/system_info.c"
      "${library_root}/source/posix/thread.c"
      "${library_root}/source/posix/time.c"
    )

  elseif(DEFINED PLATFORM_WINDOWS)
    set(additional_source_file_list
      "${library_root}/source/windows/clock.c"
      "${library_root}/source/windows/condition_variable.c"
      "${library_root}/source/windows/device_random.c"
      "${library_root}/source/windows/environment.c"
      "${library_root}/source/windows/mutex.c"
      "${library_root}/source/windows/rw_lock.c"
      "${library_root}/source/windows/system_info.c"
      "${library_root}/source/windows/thread.c"
      "${library_root}/source/windows/time.c"
    )

  else()
    message(FATAL_ERROR "Unsupported operating system")
  endif()

  target_sources(thirdparty_aws_c_common PRIVATE
    ${additional_source_file_list}
  )

  set(AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS false)
  set(AWS_HAVE_GCC_INLINE_ASM false)
  set(AWS_HAVE_MSVC_MULX false)
  set(AWS_HAVE_EXECINFO false)

  configure_file(
    "${library_root}/include/aws/common/config.h.in"
    "${binary_root}/include/aws/common/config.h"
    ESCAPE_QUOTES
  )

  target_include_directories(thirdparty_aws_c_common SYSTEM PUBLIC
    "${library_root}/include"
    "${binary_root}/include"
  )

  target_link_libraries(thirdparty_aws_c_common PRIVATE
    thirdparty_c_settings
  )
endfunction()

function(generateAwsChecksumsTarget)
  set(library_root "${CMAKE_CURRENT_SOURCE_DIR}/aws-checksums_src")

  add_library(thirdparty_aws_checksums STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/cpuid_generic.c"
    "${library_root}/source/crc.c"
    "${library_root}/source/crc_jni.c"
    "${library_root}/source/crc_sw.c"
  )

  if(DEFINED PLATFORM_POSIX AND TARGET_PROCESSOR STREQUAL "x86_64")
    set(additional_source_file_list
      "${library_root}/source/intel/cpuid.c"
      "${library_root}/source/intel/crc32c_sse42_asm.c"
    )

  elseif(DEFINED PLATFORM_POSIX AND TARGET_PROCESSOR STREQUAL "aarch64")
    set(additional_source_file_list
      "${library_root}/source/arm/cpuid_arm.c"
      "${library_root}/source/arm/crc32c_arm.c"
    )

  elseif(DEFINED PLATFORM_WINDOWS)
    set(additional_source_file_list
      "${library_root}/source/visualc/visualc_cpuid.c"
      "${library_root}/source/visualc/visualc_crc32c_sse42.c"
    )

  else()
    message(FATAL_ERROR "Unsupported operating system")
  endif()

  target_sources(thirdparty_aws_checksums PRIVATE
    ${additional_source_file_list}
  )

  target_include_directories(thirdparty_aws_checksums SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_checksums PRIVATE
    thirdparty_c_settings
  )
endfunction()

function(generateAwsCeventStreamTarget)
  set(library_root "${CMAKE_CURRENT_SOURCE_DIR}/aws-c-event-stream_src")

  add_library(thirdparty_aws_c_event_stream STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/event_stream.c"
  )

  target_include_directories(thirdparty_aws_c_event_stream SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_c_event_stream PUBLIC
    thirdparty_aws_c_common
    thirdparty_aws_checksums
  )

  target_link_libraries(thirdparty_aws_c_event_stream PRIVATE
    thirdparty_c_settings
  )
endfunction()

function(generateAwsSdkCppTargets)
  set(AWS_SDK_CPP_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/aws-sdk-cpp_src")
  set(AWS_SDK_CPP_VERSION_MAJOR 1)
  set(AWS_SDK_CPP_VERSION_MINOR 7)
  set(AWS_SDK_CPP_VERSION_PATCH 230)

  generateTinyXml2()
  generateCjson()
  generateAwsCore()
  generateAwsFirehose()
  generateAwsKinesis()
  generateAwsEc2()
  generateAwsSts()
endfunction()

function(generateTinyXml2)
  set(include_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-core/include/aws/core/external")

  add_library(thirdparty_tinyxml2 INTERFACE)
  target_include_directories(thirdparty_tinyxml2 INTERFACE
    "${include_root}"
  )
endfunction()

function(generateCjson)
  set(include_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-core/include/aws/core/external")

  add_library(thirdparty_cjson INTERFACE)
  target_include_directories(thirdparty_cjson INTERFACE
    "${include_root}"
  )
endfunction()

function(generateAwsCore)
  set(library_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-core")
  set(binary_root "${CMAKE_CURRENT_BINARY_DIR}/aws-cpp-sdk-core")

  set(USE_AWS_MEMORY_MANAGEMENT ${OSQUERY_USE_AWS_MEMORY_MANAGEMENT})

  configure_file(
    "${library_root}/include/aws/core/SDKConfig.h.in"
    "${binary_root}/include/aws/core/SDKConfig.h"
   )

  add_library(thirdparty_aws_core STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/AmazonSerializableWebServiceRequest.cpp"
    "${library_root}/source/AmazonStreamingWebServiceRequest.cpp"
    "${library_root}/source/AmazonWebServiceRequest.cpp"
    "${library_root}/source/Aws.cpp"
    "${library_root}/source/Globals.cpp"
    "${library_root}/source/Version.cpp"
    "${library_root}/source/auth/AWSAuthSigner.cpp"
    "${library_root}/source/auth/AWSAuthSignerProvider.cpp"
    "${library_root}/source/auth/AWSCredentialsProvider.cpp"
    "${library_root}/source/auth/AWSCredentialsProviderChain.cpp"
    "${library_root}/source/auth/STSCredentialsProvider.cpp"
    "${library_root}/source/client/AWSClient.cpp"
    "${library_root}/source/client/AWSErrorMarshaller.cpp"
    "${library_root}/source/client/AsyncCallerContext.cpp"
    "${library_root}/source/client/ClientConfiguration.cpp"
    "${library_root}/source/client/CoreErrors.cpp"
    "${library_root}/source/client/DefaultRetryStrategy.cpp"
    "${library_root}/source/client/SpecifiedRetryableErrorsRetryStrategy.cpp"
    "${library_root}/source/config/AWSProfileConfigLoader.cpp"
    "${library_root}/source/external/cjson/cJSON.cpp"
    "${library_root}/source/external/tinyxml2/tinyxml2.cpp"
    "${library_root}/source/http/HttpClient.cpp"
    "${library_root}/source/http/HttpClientFactory.cpp"
    "${library_root}/source/http/HttpRequest.cpp"
    "${library_root}/source/http/HttpTypes.cpp"
    "${library_root}/source/http/Scheme.cpp"
    "${library_root}/source/http/URI.cpp"
    "${library_root}/source/http/standard/StandardHttpRequest.cpp"
    "${library_root}/source/http/standard/StandardHttpResponse.cpp"
    "${library_root}/source/internal/AWSHttpResourceClient.cpp"
    "${library_root}/source/monitoring/DefaultMonitoring.cpp"
    "${library_root}/source/monitoring/HttpClientMetrics.cpp"
    "${library_root}/source/monitoring/MonitoringManager.cpp"
    "${library_root}/source/utils/Array.cpp"
    "${library_root}/source/utils/DNS.cpp"
    "${library_root}/source/utils/DateTimeCommon.cpp"
    "${library_root}/source/utils/Directory.cpp"
    "${library_root}/source/utils/EnumParseOverflowContainer.cpp"
    "${library_root}/source/utils/FileSystemUtils.cpp"
    "${library_root}/source/utils/GetTheLights.cpp"
    "${library_root}/source/utils/HashingUtils.cpp"
    "${library_root}/source/utils/StringUtils.cpp"
    "${library_root}/source/utils/TempFile.cpp"
    "${library_root}/source/utils/UUID.cpp"
    "${library_root}/source/utils/base64/Base64.cpp"
    "${library_root}/source/utils/crypto/Cipher.cpp"
    "${library_root}/source/utils/crypto/ContentCryptoMaterial.cpp"
    "${library_root}/source/utils/crypto/ContentCryptoScheme.cpp"
    "${library_root}/source/utils/crypto/CryptoBuf.cpp"
    "${library_root}/source/utils/crypto/CryptoStream.cpp"
    "${library_root}/source/utils/crypto/EncryptionMaterials.cpp"
    "${library_root}/source/utils/crypto/KeyWrapAlgorithm.cpp"
    "${library_root}/source/utils/crypto/MD5.cpp"
    "${library_root}/source/utils/crypto/Sha256.cpp"
    "${library_root}/source/utils/crypto/Sha256HMAC.cpp"
    "${library_root}/source/utils/crypto/factory/Factories.cpp"
    "${library_root}/source/utils/crypto/openssl/CryptoImpl.cpp"
    "${library_root}/source/utils/event/EventDecoderStream.cpp"
    "${library_root}/source/utils/event/EventEncoderStream.cpp"
    "${library_root}/source/utils/event/EventHeader.cpp"
    "${library_root}/source/utils/event/EventMessage.cpp"
    "${library_root}/source/utils/event/EventStreamBuf.cpp"
    "${library_root}/source/utils/event/EventStreamDecoder.cpp"
    "${library_root}/source/utils/event/EventStreamEncoder.cpp"
    "${library_root}/source/utils/event/EventStreamErrors.cpp"
    "${library_root}/source/utils/json/JsonSerializer.cpp"
    "${library_root}/source/utils/logging/AWSLogging.cpp"
    "${library_root}/source/utils/logging/ConsoleLogSystem.cpp"
    "${library_root}/source/utils/logging/DefaultLogSystem.cpp"
    "${library_root}/source/utils/logging/FormattedLogSystem.cpp"
    "${library_root}/source/utils/logging/LogLevel.cpp"
    "${library_root}/source/utils/memory/AWSMemory.cpp"
    "${library_root}/source/utils/memory/stl/SimpleStringStream.cpp"
    "${library_root}/source/utils/stream/ConcurrentStreamBuf.cpp"
    "${library_root}/source/utils/stream/PreallocatedStreamBuf.cpp"
    "${library_root}/source/utils/stream/ResponseStream.cpp"
    "${library_root}/source/utils/stream/SimpleStreamBuf.cpp"
    "${library_root}/source/utils/threading/Executor.cpp"
    "${library_root}/source/utils/threading/ReaderWriterLock.cpp"
    "${library_root}/source/utils/threading/Semaphore.cpp"
    "${library_root}/source/utils/threading/ThreadTask.cpp"
    "${library_root}/source/utils/xml/XmlSerializer.cpp"
  )

  if(DEFINED PLATFORM_POSIX)
    set(additional_source_file_list
      "${library_root}/source/net/linux-shared/Net.cpp"
      "${library_root}/source/net/linux-shared/SimpleUDP.cpp"
      "${library_root}/source/platform/linux-shared/Environment.cpp"
      "${library_root}/source/platform/linux-shared/FileSystem.cpp"
      "${library_root}/source/platform/linux-shared/OSVersionInfo.cpp"
      "${library_root}/source/platform/linux-shared/Security.cpp"
      "${library_root}/source/platform/linux-shared/Time.cpp"
    )

  elseif(DEFINED PLATFORM_WINDOWS)
    set(additional_source_file_list
      "${library_root}/source/net/windows/Net.cpp"
      "${library_root}/source/net/windows/SimpleUDP.cpp"
      "${library_root}/source/platform/windows/Environment.cpp"
      "${library_root}/source/platform/windows/FileSystem.cpp"
      "${library_root}/source/platform/windows/OSVersionInfo.cpp"
      "${library_root}/source/platform/windows/Security.cpp"
      "${library_root}/source/platform/windows/Time.cpp"
    )

  else()
    message(FATAL_ERROR "Unsupported operating system")
  endif()

  target_sources(thirdparty_aws_core PRIVATE
    ${additional_source_file_list}
  )

  target_link_libraries(thirdparty_aws_core PUBLIC
    thirdparty_openssl
    thirdparty_tinyxml2
    thirdparty_cjson
    thirdparty_aws_c_event_stream
  )

  target_include_directories(thirdparty_aws_core SYSTEM PUBLIC
    "${library_root}/include"
    "${binary_root}/include"
  )

  target_compile_definitions(thirdparty_aws_core PUBLIC
    AWS_SDK_VERSION_MAJOR=${AWS_SDK_CPP_VERSION_MAJOR}
    AWS_SDK_VERSION_MINOR=${AWS_SDK_CPP_VERSION_MINOR}
    AWS_SDK_VERSION_PATCH=${AWS_SDK_CPP_VERSION_PATCH}
    ENABLE_OPENSSL_ENCRYPTION
  )

  target_link_libraries(thirdparty_aws_core PRIVATE
    thirdparty_cxx_settings
  )
endfunction()

function(generateAwsFirehose)
  set(library_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-firehose")

  add_library(thirdparty_aws_firehose STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/FirehoseClient.cpp"
    "${library_root}/source/FirehoseEndpoint.cpp"
    "${library_root}/source/FirehoseErrorMarshaller.cpp"
    "${library_root}/source/FirehoseErrors.cpp"
    "${library_root}/source/model/BufferingHints.cpp"
    "${library_root}/source/model/CloudWatchLoggingOptions.cpp"
    "${library_root}/source/model/CompressionFormat.cpp"
    "${library_root}/source/model/CopyCommand.cpp"
    "${library_root}/source/model/CreateDeliveryStreamRequest.cpp"
    "${library_root}/source/model/CreateDeliveryStreamResult.cpp"
    "${library_root}/source/model/DataFormatConversionConfiguration.cpp"
    "${library_root}/source/model/DeleteDeliveryStreamRequest.cpp"
    "${library_root}/source/model/DeleteDeliveryStreamResult.cpp"
    "${library_root}/source/model/DeliveryStreamDescription.cpp"
    "${library_root}/source/model/DeliveryStreamEncryptionConfiguration.cpp"
    "${library_root}/source/model/DeliveryStreamEncryptionStatus.cpp"
    "${library_root}/source/model/DeliveryStreamStatus.cpp"
    "${library_root}/source/model/DeliveryStreamType.cpp"
    "${library_root}/source/model/DescribeDeliveryStreamRequest.cpp"
    "${library_root}/source/model/DescribeDeliveryStreamResult.cpp"
    "${library_root}/source/model/Deserializer.cpp"
    "${library_root}/source/model/DestinationDescription.cpp"
    "${library_root}/source/model/ElasticsearchBufferingHints.cpp"
    "${library_root}/source/model/ElasticsearchDestinationConfiguration.cpp"
    "${library_root}/source/model/ElasticsearchDestinationDescription.cpp"
    "${library_root}/source/model/ElasticsearchDestinationUpdate.cpp"
    "${library_root}/source/model/ElasticsearchIndexRotationPeriod.cpp"
    "${library_root}/source/model/ElasticsearchRetryOptions.cpp"
    "${library_root}/source/model/ElasticsearchS3BackupMode.cpp"
    "${library_root}/source/model/EncryptionConfiguration.cpp"
    "${library_root}/source/model/ExtendedS3DestinationConfiguration.cpp"
    "${library_root}/source/model/ExtendedS3DestinationDescription.cpp"
    "${library_root}/source/model/ExtendedS3DestinationUpdate.cpp"
    "${library_root}/source/model/HECEndpointType.cpp"
    "${library_root}/source/model/HiveJsonSerDe.cpp"
    "${library_root}/source/model/InputFormatConfiguration.cpp"
    "${library_root}/source/model/KMSEncryptionConfig.cpp"
    "${library_root}/source/model/KinesisStreamSourceConfiguration.cpp"
    "${library_root}/source/model/KinesisStreamSourceDescription.cpp"
    "${library_root}/source/model/ListDeliveryStreamsRequest.cpp"
    "${library_root}/source/model/ListDeliveryStreamsResult.cpp"
    "${library_root}/source/model/ListTagsForDeliveryStreamRequest.cpp"
    "${library_root}/source/model/ListTagsForDeliveryStreamResult.cpp"
    "${library_root}/source/model/NoEncryptionConfig.cpp"
    "${library_root}/source/model/OpenXJsonSerDe.cpp"
    "${library_root}/source/model/OrcCompression.cpp"
    "${library_root}/source/model/OrcFormatVersion.cpp"
    "${library_root}/source/model/OrcSerDe.cpp"
    "${library_root}/source/model/OutputFormatConfiguration.cpp"
    "${library_root}/source/model/ParquetCompression.cpp"
    "${library_root}/source/model/ParquetSerDe.cpp"
    "${library_root}/source/model/ParquetWriterVersion.cpp"
    "${library_root}/source/model/ProcessingConfiguration.cpp"
    "${library_root}/source/model/Processor.cpp"
    "${library_root}/source/model/ProcessorParameter.cpp"
    "${library_root}/source/model/ProcessorParameterName.cpp"
    "${library_root}/source/model/ProcessorType.cpp"
    "${library_root}/source/model/PutRecordBatchRequest.cpp"
    "${library_root}/source/model/PutRecordBatchResponseEntry.cpp"
    "${library_root}/source/model/PutRecordBatchResult.cpp"
    "${library_root}/source/model/PutRecordRequest.cpp"
    "${library_root}/source/model/PutRecordResult.cpp"
    "${library_root}/source/model/Record.cpp"
    "${library_root}/source/model/RedshiftDestinationConfiguration.cpp"
    "${library_root}/source/model/RedshiftDestinationDescription.cpp"
    "${library_root}/source/model/RedshiftDestinationUpdate.cpp"
    "${library_root}/source/model/RedshiftRetryOptions.cpp"
    "${library_root}/source/model/RedshiftS3BackupMode.cpp"
    "${library_root}/source/model/S3BackupMode.cpp"
    "${library_root}/source/model/S3DestinationConfiguration.cpp"
    "${library_root}/source/model/S3DestinationDescription.cpp"
    "${library_root}/source/model/S3DestinationUpdate.cpp"
    "${library_root}/source/model/SchemaConfiguration.cpp"
    "${library_root}/source/model/Serializer.cpp"
    "${library_root}/source/model/SourceDescription.cpp"
    "${library_root}/source/model/SplunkDestinationConfiguration.cpp"
    "${library_root}/source/model/SplunkDestinationDescription.cpp"
    "${library_root}/source/model/SplunkDestinationUpdate.cpp"
    "${library_root}/source/model/SplunkRetryOptions.cpp"
    "${library_root}/source/model/SplunkS3BackupMode.cpp"
    "${library_root}/source/model/StartDeliveryStreamEncryptionRequest.cpp"
    "${library_root}/source/model/StartDeliveryStreamEncryptionResult.cpp"
    "${library_root}/source/model/StopDeliveryStreamEncryptionRequest.cpp"
    "${library_root}/source/model/StopDeliveryStreamEncryptionResult.cpp"
    "${library_root}/source/model/Tag.cpp"
    "${library_root}/source/model/TagDeliveryStreamRequest.cpp"
    "${library_root}/source/model/TagDeliveryStreamResult.cpp"
    "${library_root}/source/model/UntagDeliveryStreamRequest.cpp"
    "${library_root}/source/model/UntagDeliveryStreamResult.cpp"
    "${library_root}/source/model/UpdateDestinationRequest.cpp"
    "${library_root}/source/model/UpdateDestinationResult.cpp"
  )

  target_include_directories(thirdparty_aws_firehose SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_firehose PUBLIC
    thirdparty_aws_core
  )

  target_link_libraries(thirdparty_aws_firehose PRIVATE
    thirdparty_cxx_settings
  )
endfunction()

function(generateAwsKinesis)
  set(library_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-kinesis")

  add_library(thirdparty_aws_kinesis STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/KinesisClient.cpp"
    "${library_root}/source/KinesisEndpoint.cpp"
    "${library_root}/source/KinesisErrorMarshaller.cpp"
    "${library_root}/source/KinesisErrors.cpp"
    "${library_root}/source/model/AddTagsToStreamRequest.cpp"
    "${library_root}/source/model/Consumer.cpp"
    "${library_root}/source/model/ConsumerDescription.cpp"
    "${library_root}/source/model/ConsumerStatus.cpp"
    "${library_root}/source/model/CreateStreamRequest.cpp"
    "${library_root}/source/model/DecreaseStreamRetentionPeriodRequest.cpp"
    "${library_root}/source/model/DeleteStreamRequest.cpp"
    "${library_root}/source/model/DeregisterStreamConsumerRequest.cpp"
    "${library_root}/source/model/DescribeLimitsRequest.cpp"
    "${library_root}/source/model/DescribeLimitsResult.cpp"
    "${library_root}/source/model/DescribeStreamConsumerRequest.cpp"
    "${library_root}/source/model/DescribeStreamConsumerResult.cpp"
    "${library_root}/source/model/DescribeStreamRequest.cpp"
    "${library_root}/source/model/DescribeStreamResult.cpp"
    "${library_root}/source/model/DescribeStreamSummaryRequest.cpp"
    "${library_root}/source/model/DescribeStreamSummaryResult.cpp"
    "${library_root}/source/model/DisableEnhancedMonitoringRequest.cpp"
    "${library_root}/source/model/DisableEnhancedMonitoringResult.cpp"
    "${library_root}/source/model/EnableEnhancedMonitoringRequest.cpp"
    "${library_root}/source/model/EnableEnhancedMonitoringResult.cpp"
    "${library_root}/source/model/EncryptionType.cpp"
    "${library_root}/source/model/EnhancedMetrics.cpp"
    "${library_root}/source/model/GetRecordsRequest.cpp"
    "${library_root}/source/model/GetRecordsResult.cpp"
    "${library_root}/source/model/GetShardIteratorRequest.cpp"
    "${library_root}/source/model/GetShardIteratorResult.cpp"
    "${library_root}/source/model/HashKeyRange.cpp"
    "${library_root}/source/model/IncreaseStreamRetentionPeriodRequest.cpp"
    "${library_root}/source/model/ListShardsRequest.cpp"
    "${library_root}/source/model/ListShardsResult.cpp"
    "${library_root}/source/model/ListStreamConsumersRequest.cpp"
    "${library_root}/source/model/ListStreamConsumersResult.cpp"
    "${library_root}/source/model/ListStreamsRequest.cpp"
    "${library_root}/source/model/ListStreamsResult.cpp"
    "${library_root}/source/model/ListTagsForStreamRequest.cpp"
    "${library_root}/source/model/ListTagsForStreamResult.cpp"
    "${library_root}/source/model/MergeShardsRequest.cpp"
    "${library_root}/source/model/MetricsName.cpp"
    "${library_root}/source/model/PutRecordRequest.cpp"
    "${library_root}/source/model/PutRecordResult.cpp"
    "${library_root}/source/model/PutRecordsRequest.cpp"
    "${library_root}/source/model/PutRecordsRequestEntry.cpp"
    "${library_root}/source/model/PutRecordsResult.cpp"
    "${library_root}/source/model/PutRecordsResultEntry.cpp"
    "${library_root}/source/model/Record.cpp"
    "${library_root}/source/model/RegisterStreamConsumerRequest.cpp"
    "${library_root}/source/model/RegisterStreamConsumerResult.cpp"
    "${library_root}/source/model/RemoveTagsFromStreamRequest.cpp"
    "${library_root}/source/model/ScalingType.cpp"
    "${library_root}/source/model/SequenceNumberRange.cpp"
    "${library_root}/source/model/Shard.cpp"
    "${library_root}/source/model/ShardIteratorType.cpp"
    "${library_root}/source/model/SplitShardRequest.cpp"
    "${library_root}/source/model/StartStreamEncryptionRequest.cpp"
    "${library_root}/source/model/StartingPosition.cpp"
    "${library_root}/source/model/StopStreamEncryptionRequest.cpp"
    "${library_root}/source/model/StreamDescription.cpp"
    "${library_root}/source/model/StreamDescriptionSummary.cpp"
    "${library_root}/source/model/StreamStatus.cpp"
    "${library_root}/source/model/SubscribeToShardEvent.cpp"
    "${library_root}/source/model/SubscribeToShardHandler.cpp"
    "${library_root}/source/model/SubscribeToShardRequest.cpp"
    "${library_root}/source/model/Tag.cpp"
    "${library_root}/source/model/UpdateShardCountRequest.cpp"
    "${library_root}/source/model/UpdateShardCountResult.cpp"
  )

  target_include_directories(thirdparty_aws_kinesis SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_kinesis PUBLIC
    thirdparty_aws_core
  )

  target_link_libraries(thirdparty_aws_kinesis PRIVATE
    thirdparty_cxx_settings
  )
endfunction()

function(generateAwsEc2)
  set(library_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-ec2")

  add_library(thirdparty_aws_ec2 STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/EC2Client.cpp"
    "${library_root}/source/EC2Endpoint.cpp"
    "${library_root}/source/EC2ErrorMarshaller.cpp"
    "${library_root}/source/EC2Errors.cpp"
    "${library_root}/source/model/AcceptReservedInstancesExchangeQuoteRequest.cpp"
    "${library_root}/source/model/AcceptReservedInstancesExchangeQuoteResponse.cpp"
    "${library_root}/source/model/AcceptTransitGatewayVpcAttachmentRequest.cpp"
    "${library_root}/source/model/AcceptTransitGatewayVpcAttachmentResponse.cpp"
    "${library_root}/source/model/AcceptVpcEndpointConnectionsRequest.cpp"
    "${library_root}/source/model/AcceptVpcEndpointConnectionsResponse.cpp"
    "${library_root}/source/model/AcceptVpcPeeringConnectionRequest.cpp"
    "${library_root}/source/model/AcceptVpcPeeringConnectionResponse.cpp"
    "${library_root}/source/model/AccountAttribute.cpp"
    "${library_root}/source/model/AccountAttributeName.cpp"
    "${library_root}/source/model/AccountAttributeValue.cpp"
    "${library_root}/source/model/ActiveInstance.cpp"
    "${library_root}/source/model/ActivityStatus.cpp"
    "${library_root}/source/model/Address.cpp"
    "${library_root}/source/model/AdvertiseByoipCidrRequest.cpp"
    "${library_root}/source/model/AdvertiseByoipCidrResponse.cpp"
    "${library_root}/source/model/Affinity.cpp"
    "${library_root}/source/model/AllocateAddressRequest.cpp"
    "${library_root}/source/model/AllocateAddressResponse.cpp"
    "${library_root}/source/model/AllocateHostsRequest.cpp"
    "${library_root}/source/model/AllocateHostsResponse.cpp"
    "${library_root}/source/model/AllocationState.cpp"
    "${library_root}/source/model/AllocationStrategy.cpp"
    "${library_root}/source/model/AllowedPrincipal.cpp"
    "${library_root}/source/model/ApplySecurityGroupsToClientVpnTargetNetworkRequest.cpp"
    "${library_root}/source/model/ApplySecurityGroupsToClientVpnTargetNetworkResponse.cpp"
    "${library_root}/source/model/ArchitectureValues.cpp"
    "${library_root}/source/model/AssignIpv6AddressesRequest.cpp"
    "${library_root}/source/model/AssignIpv6AddressesResponse.cpp"
    "${library_root}/source/model/AssignPrivateIpAddressesRequest.cpp"
    "${library_root}/source/model/AssignPrivateIpAddressesResponse.cpp"
    "${library_root}/source/model/AssignedPrivateIpAddress.cpp"
    "${library_root}/source/model/AssociateAddressRequest.cpp"
    "${library_root}/source/model/AssociateAddressResponse.cpp"
    "${library_root}/source/model/AssociateClientVpnTargetNetworkRequest.cpp"
    "${library_root}/source/model/AssociateClientVpnTargetNetworkResponse.cpp"
    "${library_root}/source/model/AssociateDhcpOptionsRequest.cpp"
    "${library_root}/source/model/AssociateIamInstanceProfileRequest.cpp"
    "${library_root}/source/model/AssociateIamInstanceProfileResponse.cpp"
    "${library_root}/source/model/AssociateRouteTableRequest.cpp"
    "${library_root}/source/model/AssociateRouteTableResponse.cpp"
    "${library_root}/source/model/AssociateSubnetCidrBlockRequest.cpp"
    "${library_root}/source/model/AssociateSubnetCidrBlockResponse.cpp"
    "${library_root}/source/model/AssociateTransitGatewayRouteTableRequest.cpp"
    "${library_root}/source/model/AssociateTransitGatewayRouteTableResponse.cpp"
    "${library_root}/source/model/AssociateVpcCidrBlockRequest.cpp"
    "${library_root}/source/model/AssociateVpcCidrBlockResponse.cpp"
    "${library_root}/source/model/AssociatedNetworkType.cpp"
    "${library_root}/source/model/AssociatedTargetNetwork.cpp"
    "${library_root}/source/model/AssociationStatus.cpp"
    "${library_root}/source/model/AssociationStatusCode.cpp"
    "${library_root}/source/model/AttachClassicLinkVpcRequest.cpp"
    "${library_root}/source/model/AttachClassicLinkVpcResponse.cpp"
    "${library_root}/source/model/AttachInternetGatewayRequest.cpp"
    "${library_root}/source/model/AttachNetworkInterfaceRequest.cpp"
    "${library_root}/source/model/AttachNetworkInterfaceResponse.cpp"
    "${library_root}/source/model/AttachVolumeRequest.cpp"
    "${library_root}/source/model/AttachVolumeResponse.cpp"
    "${library_root}/source/model/AttachVpnGatewayRequest.cpp"
    "${library_root}/source/model/AttachVpnGatewayResponse.cpp"
    "${library_root}/source/model/AttachmentStatus.cpp"
    "${library_root}/source/model/AttributeBooleanValue.cpp"
    "${library_root}/source/model/AttributeValue.cpp"
    "${library_root}/source/model/AuthorizationRule.cpp"
    "${library_root}/source/model/AuthorizeClientVpnIngressRequest.cpp"
    "${library_root}/source/model/AuthorizeClientVpnIngressResponse.cpp"
    "${library_root}/source/model/AuthorizeSecurityGroupEgressRequest.cpp"
    "${library_root}/source/model/AuthorizeSecurityGroupIngressRequest.cpp"
    "${library_root}/source/model/AutoAcceptSharedAttachmentsValue.cpp"
    "${library_root}/source/model/AutoPlacement.cpp"
    "${library_root}/source/model/AvailabilityZone.cpp"
    "${library_root}/source/model/AvailabilityZoneMessage.cpp"
    "${library_root}/source/model/AvailabilityZoneState.cpp"
    "${library_root}/source/model/AvailableCapacity.cpp"
    "${library_root}/source/model/BatchState.cpp"
    "${library_root}/source/model/BlobAttributeValue.cpp"
    "${library_root}/source/model/BlockDeviceMapping.cpp"
    "${library_root}/source/model/BundleInstanceRequest.cpp"
    "${library_root}/source/model/BundleInstanceResponse.cpp"
    "${library_root}/source/model/BundleTask.cpp"
    "${library_root}/source/model/BundleTaskError.cpp"
    "${library_root}/source/model/BundleTaskState.cpp"
    "${library_root}/source/model/ByoipCidr.cpp"
    "${library_root}/source/model/ByoipCidrState.cpp"
    "${library_root}/source/model/CancelBatchErrorCode.cpp"
    "${library_root}/source/model/CancelBundleTaskRequest.cpp"
    "${library_root}/source/model/CancelBundleTaskResponse.cpp"
    "${library_root}/source/model/CancelCapacityReservationRequest.cpp"
    "${library_root}/source/model/CancelCapacityReservationResponse.cpp"
    "${library_root}/source/model/CancelConversionTaskRequest.cpp"
    "${library_root}/source/model/CancelExportTaskRequest.cpp"
    "${library_root}/source/model/CancelImportTaskRequest.cpp"
    "${library_root}/source/model/CancelImportTaskResponse.cpp"
    "${library_root}/source/model/CancelReservedInstancesListingRequest.cpp"
    "${library_root}/source/model/CancelReservedInstancesListingResponse.cpp"
    "${library_root}/source/model/CancelSpotFleetRequestsError.cpp"
    "${library_root}/source/model/CancelSpotFleetRequestsErrorItem.cpp"
    "${library_root}/source/model/CancelSpotFleetRequestsRequest.cpp"
    "${library_root}/source/model/CancelSpotFleetRequestsResponse.cpp"
    "${library_root}/source/model/CancelSpotFleetRequestsSuccessItem.cpp"
    "${library_root}/source/model/CancelSpotInstanceRequestState.cpp"
    "${library_root}/source/model/CancelSpotInstanceRequestsRequest.cpp"
    "${library_root}/source/model/CancelSpotInstanceRequestsResponse.cpp"
    "${library_root}/source/model/CancelledSpotInstanceRequest.cpp"
    "${library_root}/source/model/CapacityReservation.cpp"
    "${library_root}/source/model/CapacityReservationInstancePlatform.cpp"
    "${library_root}/source/model/CapacityReservationPreference.cpp"
    "${library_root}/source/model/CapacityReservationSpecification.cpp"
    "${library_root}/source/model/CapacityReservationSpecificationResponse.cpp"
    "${library_root}/source/model/CapacityReservationState.cpp"
    "${library_root}/source/model/CapacityReservationTarget.cpp"
    "${library_root}/source/model/CapacityReservationTargetResponse.cpp"
    "${library_root}/source/model/CapacityReservationTenancy.cpp"
    "${library_root}/source/model/CertificateAuthentication.cpp"
    "${library_root}/source/model/CertificateAuthenticationRequest.cpp"
    "${library_root}/source/model/CidrAuthorizationContext.cpp"
    "${library_root}/source/model/CidrBlock.cpp"
    "${library_root}/source/model/ClassicLinkDnsSupport.cpp"
    "${library_root}/source/model/ClassicLinkInstance.cpp"
    "${library_root}/source/model/ClassicLoadBalancer.cpp"
    "${library_root}/source/model/ClassicLoadBalancersConfig.cpp"
    "${library_root}/source/model/ClientCertificateRevocationListStatus.cpp"
    "${library_root}/source/model/ClientCertificateRevocationListStatusCode.cpp"
    "${library_root}/source/model/ClientData.cpp"
    "${library_root}/source/model/ClientVpnAuthentication.cpp"
    "${library_root}/source/model/ClientVpnAuthenticationRequest.cpp"
    "${library_root}/source/model/ClientVpnAuthenticationType.cpp"
    "${library_root}/source/model/ClientVpnAuthorizationRuleStatus.cpp"
    "${library_root}/source/model/ClientVpnAuthorizationRuleStatusCode.cpp"
    "${library_root}/source/model/ClientVpnConnection.cpp"
    "${library_root}/source/model/ClientVpnConnectionStatus.cpp"
    "${library_root}/source/model/ClientVpnConnectionStatusCode.cpp"
    "${library_root}/source/model/ClientVpnEndpoint.cpp"
    "${library_root}/source/model/ClientVpnEndpointStatus.cpp"
    "${library_root}/source/model/ClientVpnEndpointStatusCode.cpp"
    "${library_root}/source/model/ClientVpnRoute.cpp"
    "${library_root}/source/model/ClientVpnRouteStatus.cpp"
    "${library_root}/source/model/ClientVpnRouteStatusCode.cpp"
    "${library_root}/source/model/ConfirmProductInstanceRequest.cpp"
    "${library_root}/source/model/ConfirmProductInstanceResponse.cpp"
    "${library_root}/source/model/ConnectionLogOptions.cpp"
    "${library_root}/source/model/ConnectionLogResponseOptions.cpp"
    "${library_root}/source/model/ConnectionNotification.cpp"
    "${library_root}/source/model/ConnectionNotificationState.cpp"
    "${library_root}/source/model/ConnectionNotificationType.cpp"
    "${library_root}/source/model/ContainerFormat.cpp"
    "${library_root}/source/model/ConversionTask.cpp"
    "${library_root}/source/model/ConversionTaskState.cpp"
    "${library_root}/source/model/CopyFpgaImageRequest.cpp"
    "${library_root}/source/model/CopyFpgaImageResponse.cpp"
    "${library_root}/source/model/CopyImageRequest.cpp"
    "${library_root}/source/model/CopyImageResponse.cpp"
    "${library_root}/source/model/CopySnapshotRequest.cpp"
    "${library_root}/source/model/CopySnapshotResponse.cpp"
    "${library_root}/source/model/CopyTagsFromSource.cpp"
    "${library_root}/source/model/CpuOptions.cpp"
    "${library_root}/source/model/CpuOptionsRequest.cpp"
    "${library_root}/source/model/CreateCapacityReservationRequest.cpp"
    "${library_root}/source/model/CreateCapacityReservationResponse.cpp"
    "${library_root}/source/model/CreateClientVpnEndpointRequest.cpp"
    "${library_root}/source/model/CreateClientVpnEndpointResponse.cpp"
    "${library_root}/source/model/CreateClientVpnRouteRequest.cpp"
    "${library_root}/source/model/CreateClientVpnRouteResponse.cpp"
    "${library_root}/source/model/CreateCustomerGatewayRequest.cpp"
    "${library_root}/source/model/CreateCustomerGatewayResponse.cpp"
    "${library_root}/source/model/CreateDefaultSubnetRequest.cpp"
    "${library_root}/source/model/CreateDefaultSubnetResponse.cpp"
    "${library_root}/source/model/CreateDefaultVpcRequest.cpp"
    "${library_root}/source/model/CreateDefaultVpcResponse.cpp"
    "${library_root}/source/model/CreateDhcpOptionsRequest.cpp"
    "${library_root}/source/model/CreateDhcpOptionsResponse.cpp"
    "${library_root}/source/model/CreateEgressOnlyInternetGatewayRequest.cpp"
    "${library_root}/source/model/CreateEgressOnlyInternetGatewayResponse.cpp"
    "${library_root}/source/model/CreateFleetError.cpp"
    "${library_root}/source/model/CreateFleetInstance.cpp"
    "${library_root}/source/model/CreateFleetRequest.cpp"
    "${library_root}/source/model/CreateFleetResponse.cpp"
    "${library_root}/source/model/CreateFlowLogsRequest.cpp"
    "${library_root}/source/model/CreateFlowLogsResponse.cpp"
    "${library_root}/source/model/CreateFpgaImageRequest.cpp"
    "${library_root}/source/model/CreateFpgaImageResponse.cpp"
    "${library_root}/source/model/CreateImageRequest.cpp"
    "${library_root}/source/model/CreateImageResponse.cpp"
    "${library_root}/source/model/CreateInstanceExportTaskRequest.cpp"
    "${library_root}/source/model/CreateInstanceExportTaskResponse.cpp"
    "${library_root}/source/model/CreateInternetGatewayRequest.cpp"
    "${library_root}/source/model/CreateInternetGatewayResponse.cpp"
    "${library_root}/source/model/CreateKeyPairRequest.cpp"
    "${library_root}/source/model/CreateKeyPairResponse.cpp"
    "${library_root}/source/model/CreateLaunchTemplateRequest.cpp"
    "${library_root}/source/model/CreateLaunchTemplateResponse.cpp"
    "${library_root}/source/model/CreateLaunchTemplateVersionRequest.cpp"
    "${library_root}/source/model/CreateLaunchTemplateVersionResponse.cpp"
    "${library_root}/source/model/CreateNatGatewayRequest.cpp"
    "${library_root}/source/model/CreateNatGatewayResponse.cpp"
    "${library_root}/source/model/CreateNetworkAclEntryRequest.cpp"
    "${library_root}/source/model/CreateNetworkAclRequest.cpp"
    "${library_root}/source/model/CreateNetworkAclResponse.cpp"
    "${library_root}/source/model/CreateNetworkInterfacePermissionRequest.cpp"
    "${library_root}/source/model/CreateNetworkInterfacePermissionResponse.cpp"
    "${library_root}/source/model/CreateNetworkInterfaceRequest.cpp"
    "${library_root}/source/model/CreateNetworkInterfaceResponse.cpp"
    "${library_root}/source/model/CreatePlacementGroupRequest.cpp"
    "${library_root}/source/model/CreateReservedInstancesListingRequest.cpp"
    "${library_root}/source/model/CreateReservedInstancesListingResponse.cpp"
    "${library_root}/source/model/CreateRouteRequest.cpp"
    "${library_root}/source/model/CreateRouteResponse.cpp"
    "${library_root}/source/model/CreateRouteTableRequest.cpp"
    "${library_root}/source/model/CreateRouteTableResponse.cpp"
    "${library_root}/source/model/CreateSecurityGroupRequest.cpp"
    "${library_root}/source/model/CreateSecurityGroupResponse.cpp"
    "${library_root}/source/model/CreateSnapshotRequest.cpp"
    "${library_root}/source/model/CreateSnapshotResponse.cpp"
    "${library_root}/source/model/CreateSnapshotsRequest.cpp"
    "${library_root}/source/model/CreateSnapshotsResponse.cpp"
    "${library_root}/source/model/CreateSpotDatafeedSubscriptionRequest.cpp"
    "${library_root}/source/model/CreateSpotDatafeedSubscriptionResponse.cpp"
    "${library_root}/source/model/CreateSubnetRequest.cpp"
    "${library_root}/source/model/CreateSubnetResponse.cpp"
    "${library_root}/source/model/CreateTagsRequest.cpp"
    "${library_root}/source/model/CreateTrafficMirrorFilterRequest.cpp"
    "${library_root}/source/model/CreateTrafficMirrorFilterResponse.cpp"
    "${library_root}/source/model/CreateTrafficMirrorFilterRuleRequest.cpp"
    "${library_root}/source/model/CreateTrafficMirrorFilterRuleResponse.cpp"
    "${library_root}/source/model/CreateTrafficMirrorSessionRequest.cpp"
    "${library_root}/source/model/CreateTrafficMirrorSessionResponse.cpp"
    "${library_root}/source/model/CreateTrafficMirrorTargetRequest.cpp"
    "${library_root}/source/model/CreateTrafficMirrorTargetResponse.cpp"
    "${library_root}/source/model/CreateTransitGatewayRequest.cpp"
    "${library_root}/source/model/CreateTransitGatewayResponse.cpp"
    "${library_root}/source/model/CreateTransitGatewayRouteRequest.cpp"
    "${library_root}/source/model/CreateTransitGatewayRouteResponse.cpp"
    "${library_root}/source/model/CreateTransitGatewayRouteTableRequest.cpp"
    "${library_root}/source/model/CreateTransitGatewayRouteTableResponse.cpp"
    "${library_root}/source/model/CreateTransitGatewayVpcAttachmentRequest.cpp"
    "${library_root}/source/model/CreateTransitGatewayVpcAttachmentRequestOptions.cpp"
    "${library_root}/source/model/CreateTransitGatewayVpcAttachmentResponse.cpp"
    "${library_root}/source/model/CreateVolumePermission.cpp"
    "${library_root}/source/model/CreateVolumePermissionModifications.cpp"
    "${library_root}/source/model/CreateVolumeRequest.cpp"
    "${library_root}/source/model/CreateVolumeResponse.cpp"
    "${library_root}/source/model/CreateVpcEndpointConnectionNotificationRequest.cpp"
    "${library_root}/source/model/CreateVpcEndpointConnectionNotificationResponse.cpp"
    "${library_root}/source/model/CreateVpcEndpointRequest.cpp"
    "${library_root}/source/model/CreateVpcEndpointResponse.cpp"
    "${library_root}/source/model/CreateVpcEndpointServiceConfigurationRequest.cpp"
    "${library_root}/source/model/CreateVpcEndpointServiceConfigurationResponse.cpp"
    "${library_root}/source/model/CreateVpcPeeringConnectionRequest.cpp"
    "${library_root}/source/model/CreateVpcPeeringConnectionResponse.cpp"
    "${library_root}/source/model/CreateVpcRequest.cpp"
    "${library_root}/source/model/CreateVpcResponse.cpp"
    "${library_root}/source/model/CreateVpnConnectionRequest.cpp"
    "${library_root}/source/model/CreateVpnConnectionResponse.cpp"
    "${library_root}/source/model/CreateVpnConnectionRouteRequest.cpp"
    "${library_root}/source/model/CreateVpnGatewayRequest.cpp"
    "${library_root}/source/model/CreateVpnGatewayResponse.cpp"
    "${library_root}/source/model/CreditSpecification.cpp"
    "${library_root}/source/model/CreditSpecificationRequest.cpp"
    "${library_root}/source/model/CurrencyCodeValues.cpp"
    "${library_root}/source/model/CustomerGateway.cpp"
    "${library_root}/source/model/DatafeedSubscriptionState.cpp"
    "${library_root}/source/model/DefaultRouteTableAssociationValue.cpp"
    "${library_root}/source/model/DefaultRouteTablePropagationValue.cpp"
    "${library_root}/source/model/DefaultTargetCapacityType.cpp"
    "${library_root}/source/model/DeleteClientVpnEndpointRequest.cpp"
    "${library_root}/source/model/DeleteClientVpnEndpointResponse.cpp"
    "${library_root}/source/model/DeleteClientVpnRouteRequest.cpp"
    "${library_root}/source/model/DeleteClientVpnRouteResponse.cpp"
    "${library_root}/source/model/DeleteCustomerGatewayRequest.cpp"
    "${library_root}/source/model/DeleteDhcpOptionsRequest.cpp"
    "${library_root}/source/model/DeleteEgressOnlyInternetGatewayRequest.cpp"
    "${library_root}/source/model/DeleteEgressOnlyInternetGatewayResponse.cpp"
    "${library_root}/source/model/DeleteFleetError.cpp"
    "${library_root}/source/model/DeleteFleetErrorCode.cpp"
    "${library_root}/source/model/DeleteFleetErrorItem.cpp"
    "${library_root}/source/model/DeleteFleetSuccessItem.cpp"
    "${library_root}/source/model/DeleteFleetsRequest.cpp"
    "${library_root}/source/model/DeleteFleetsResponse.cpp"
    "${library_root}/source/model/DeleteFlowLogsRequest.cpp"
    "${library_root}/source/model/DeleteFlowLogsResponse.cpp"
    "${library_root}/source/model/DeleteFpgaImageRequest.cpp"
    "${library_root}/source/model/DeleteFpgaImageResponse.cpp"
    "${library_root}/source/model/DeleteInternetGatewayRequest.cpp"
    "${library_root}/source/model/DeleteKeyPairRequest.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateRequest.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateResponse.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateVersionsRequest.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateVersionsResponse.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateVersionsResponseErrorItem.cpp"
    "${library_root}/source/model/DeleteLaunchTemplateVersionsResponseSuccessItem.cpp"
    "${library_root}/source/model/DeleteNatGatewayRequest.cpp"
    "${library_root}/source/model/DeleteNatGatewayResponse.cpp"
    "${library_root}/source/model/DeleteNetworkAclEntryRequest.cpp"
    "${library_root}/source/model/DeleteNetworkAclRequest.cpp"
    "${library_root}/source/model/DeleteNetworkInterfacePermissionRequest.cpp"
    "${library_root}/source/model/DeleteNetworkInterfacePermissionResponse.cpp"
    "${library_root}/source/model/DeleteNetworkInterfaceRequest.cpp"
    "${library_root}/source/model/DeletePlacementGroupRequest.cpp"
    "${library_root}/source/model/DeleteQueuedReservedInstancesError.cpp"
    "${library_root}/source/model/DeleteQueuedReservedInstancesErrorCode.cpp"
    "${library_root}/source/model/DeleteQueuedReservedInstancesRequest.cpp"
    "${library_root}/source/model/DeleteQueuedReservedInstancesResponse.cpp"
    "${library_root}/source/model/DeleteRouteRequest.cpp"
    "${library_root}/source/model/DeleteRouteTableRequest.cpp"
    "${library_root}/source/model/DeleteSecurityGroupRequest.cpp"
    "${library_root}/source/model/DeleteSnapshotRequest.cpp"
    "${library_root}/source/model/DeleteSpotDatafeedSubscriptionRequest.cpp"
    "${library_root}/source/model/DeleteSubnetRequest.cpp"
    "${library_root}/source/model/DeleteTagsRequest.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorFilterRequest.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorFilterResponse.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorFilterRuleRequest.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorFilterRuleResponse.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorSessionRequest.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorSessionResponse.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorTargetRequest.cpp"
    "${library_root}/source/model/DeleteTrafficMirrorTargetResponse.cpp"
    "${library_root}/source/model/DeleteTransitGatewayRequest.cpp"
    "${library_root}/source/model/DeleteTransitGatewayResponse.cpp"
    "${library_root}/source/model/DeleteTransitGatewayRouteRequest.cpp"
    "${library_root}/source/model/DeleteTransitGatewayRouteResponse.cpp"
    "${library_root}/source/model/DeleteTransitGatewayRouteTableRequest.cpp"
    "${library_root}/source/model/DeleteTransitGatewayRouteTableResponse.cpp"
    "${library_root}/source/model/DeleteTransitGatewayVpcAttachmentRequest.cpp"
    "${library_root}/source/model/DeleteTransitGatewayVpcAttachmentResponse.cpp"
    "${library_root}/source/model/DeleteVolumeRequest.cpp"
    "${library_root}/source/model/DeleteVpcEndpointConnectionNotificationsRequest.cpp"
    "${library_root}/source/model/DeleteVpcEndpointConnectionNotificationsResponse.cpp"
    "${library_root}/source/model/DeleteVpcEndpointServiceConfigurationsRequest.cpp"
    "${library_root}/source/model/DeleteVpcEndpointServiceConfigurationsResponse.cpp"
    "${library_root}/source/model/DeleteVpcEndpointsRequest.cpp"
    "${library_root}/source/model/DeleteVpcEndpointsResponse.cpp"
    "${library_root}/source/model/DeleteVpcPeeringConnectionRequest.cpp"
    "${library_root}/source/model/DeleteVpcPeeringConnectionResponse.cpp"
    "${library_root}/source/model/DeleteVpcRequest.cpp"
    "${library_root}/source/model/DeleteVpnConnectionRequest.cpp"
    "${library_root}/source/model/DeleteVpnConnectionRouteRequest.cpp"
    "${library_root}/source/model/DeleteVpnGatewayRequest.cpp"
    "${library_root}/source/model/DeprovisionByoipCidrRequest.cpp"
    "${library_root}/source/model/DeprovisionByoipCidrResponse.cpp"
    "${library_root}/source/model/DeregisterImageRequest.cpp"
    "${library_root}/source/model/DescribeAccountAttributesRequest.cpp"
    "${library_root}/source/model/DescribeAccountAttributesResponse.cpp"
    "${library_root}/source/model/DescribeAddressesRequest.cpp"
    "${library_root}/source/model/DescribeAddressesResponse.cpp"
    "${library_root}/source/model/DescribeAggregateIdFormatRequest.cpp"
    "${library_root}/source/model/DescribeAggregateIdFormatResponse.cpp"
    "${library_root}/source/model/DescribeAvailabilityZonesRequest.cpp"
    "${library_root}/source/model/DescribeAvailabilityZonesResponse.cpp"
    "${library_root}/source/model/DescribeBundleTasksRequest.cpp"
    "${library_root}/source/model/DescribeBundleTasksResponse.cpp"
    "${library_root}/source/model/DescribeByoipCidrsRequest.cpp"
    "${library_root}/source/model/DescribeByoipCidrsResponse.cpp"
    "${library_root}/source/model/DescribeCapacityReservationsRequest.cpp"
    "${library_root}/source/model/DescribeCapacityReservationsResponse.cpp"
    "${library_root}/source/model/DescribeClassicLinkInstancesRequest.cpp"
    "${library_root}/source/model/DescribeClassicLinkInstancesResponse.cpp"
    "${library_root}/source/model/DescribeClientVpnAuthorizationRulesRequest.cpp"
    "${library_root}/source/model/DescribeClientVpnAuthorizationRulesResponse.cpp"
    "${library_root}/source/model/DescribeClientVpnConnectionsRequest.cpp"
    "${library_root}/source/model/DescribeClientVpnConnectionsResponse.cpp"
    "${library_root}/source/model/DescribeClientVpnEndpointsRequest.cpp"
    "${library_root}/source/model/DescribeClientVpnEndpointsResponse.cpp"
    "${library_root}/source/model/DescribeClientVpnRoutesRequest.cpp"
    "${library_root}/source/model/DescribeClientVpnRoutesResponse.cpp"
    "${library_root}/source/model/DescribeClientVpnTargetNetworksRequest.cpp"
    "${library_root}/source/model/DescribeClientVpnTargetNetworksResponse.cpp"
    "${library_root}/source/model/DescribeConversionTasksRequest.cpp"
    "${library_root}/source/model/DescribeConversionTasksResponse.cpp"
    "${library_root}/source/model/DescribeCustomerGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeCustomerGatewaysResponse.cpp"
    "${library_root}/source/model/DescribeDhcpOptionsRequest.cpp"
    "${library_root}/source/model/DescribeDhcpOptionsResponse.cpp"
    "${library_root}/source/model/DescribeEgressOnlyInternetGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeEgressOnlyInternetGatewaysResponse.cpp"
    "${library_root}/source/model/DescribeElasticGpusRequest.cpp"
    "${library_root}/source/model/DescribeElasticGpusResponse.cpp"
    "${library_root}/source/model/DescribeExportImageTasksRequest.cpp"
    "${library_root}/source/model/DescribeExportImageTasksResponse.cpp"
    "${library_root}/source/model/DescribeExportTasksRequest.cpp"
    "${library_root}/source/model/DescribeExportTasksResponse.cpp"
    "${library_root}/source/model/DescribeFleetError.cpp"
    "${library_root}/source/model/DescribeFleetHistoryRequest.cpp"
    "${library_root}/source/model/DescribeFleetHistoryResponse.cpp"
    "${library_root}/source/model/DescribeFleetInstancesRequest.cpp"
    "${library_root}/source/model/DescribeFleetInstancesResponse.cpp"
    "${library_root}/source/model/DescribeFleetsInstances.cpp"
    "${library_root}/source/model/DescribeFleetsRequest.cpp"
    "${library_root}/source/model/DescribeFleetsResponse.cpp"
    "${library_root}/source/model/DescribeFlowLogsRequest.cpp"
    "${library_root}/source/model/DescribeFlowLogsResponse.cpp"
    "${library_root}/source/model/DescribeFpgaImageAttributeRequest.cpp"
    "${library_root}/source/model/DescribeFpgaImageAttributeResponse.cpp"
    "${library_root}/source/model/DescribeFpgaImagesRequest.cpp"
    "${library_root}/source/model/DescribeFpgaImagesResponse.cpp"
    "${library_root}/source/model/DescribeHostReservationOfferingsRequest.cpp"
    "${library_root}/source/model/DescribeHostReservationOfferingsResponse.cpp"
    "${library_root}/source/model/DescribeHostReservationsRequest.cpp"
    "${library_root}/source/model/DescribeHostReservationsResponse.cpp"
    "${library_root}/source/model/DescribeHostsRequest.cpp"
    "${library_root}/source/model/DescribeHostsResponse.cpp"
    "${library_root}/source/model/DescribeIamInstanceProfileAssociationsRequest.cpp"
    "${library_root}/source/model/DescribeIamInstanceProfileAssociationsResponse.cpp"
    "${library_root}/source/model/DescribeIdFormatRequest.cpp"
    "${library_root}/source/model/DescribeIdFormatResponse.cpp"
    "${library_root}/source/model/DescribeIdentityIdFormatRequest.cpp"
    "${library_root}/source/model/DescribeIdentityIdFormatResponse.cpp"
    "${library_root}/source/model/DescribeImageAttributeRequest.cpp"
    "${library_root}/source/model/DescribeImageAttributeResponse.cpp"
    "${library_root}/source/model/DescribeImagesRequest.cpp"
    "${library_root}/source/model/DescribeImagesResponse.cpp"
    "${library_root}/source/model/DescribeImportImageTasksRequest.cpp"
    "${library_root}/source/model/DescribeImportImageTasksResponse.cpp"
    "${library_root}/source/model/DescribeImportSnapshotTasksRequest.cpp"
    "${library_root}/source/model/DescribeImportSnapshotTasksResponse.cpp"
    "${library_root}/source/model/DescribeInstanceAttributeRequest.cpp"
    "${library_root}/source/model/DescribeInstanceAttributeResponse.cpp"
    "${library_root}/source/model/DescribeInstanceCreditSpecificationsRequest.cpp"
    "${library_root}/source/model/DescribeInstanceCreditSpecificationsResponse.cpp"
    "${library_root}/source/model/DescribeInstanceStatusRequest.cpp"
    "${library_root}/source/model/DescribeInstanceStatusResponse.cpp"
    "${library_root}/source/model/DescribeInstancesRequest.cpp"
    "${library_root}/source/model/DescribeInstancesResponse.cpp"
    "${library_root}/source/model/DescribeInternetGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeInternetGatewaysResponse.cpp"
    "${library_root}/source/model/DescribeKeyPairsRequest.cpp"
    "${library_root}/source/model/DescribeKeyPairsResponse.cpp"
    "${library_root}/source/model/DescribeLaunchTemplateVersionsRequest.cpp"
    "${library_root}/source/model/DescribeLaunchTemplateVersionsResponse.cpp"
    "${library_root}/source/model/DescribeLaunchTemplatesRequest.cpp"
    "${library_root}/source/model/DescribeLaunchTemplatesResponse.cpp"
    "${library_root}/source/model/DescribeMovingAddressesRequest.cpp"
    "${library_root}/source/model/DescribeMovingAddressesResponse.cpp"
    "${library_root}/source/model/DescribeNatGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeNatGatewaysResponse.cpp"
    "${library_root}/source/model/DescribeNetworkAclsRequest.cpp"
    "${library_root}/source/model/DescribeNetworkAclsResponse.cpp"
    "${library_root}/source/model/DescribeNetworkInterfaceAttributeRequest.cpp"
    "${library_root}/source/model/DescribeNetworkInterfaceAttributeResponse.cpp"
    "${library_root}/source/model/DescribeNetworkInterfacePermissionsRequest.cpp"
    "${library_root}/source/model/DescribeNetworkInterfacePermissionsResponse.cpp"
    "${library_root}/source/model/DescribeNetworkInterfacesRequest.cpp"
    "${library_root}/source/model/DescribeNetworkInterfacesResponse.cpp"
    "${library_root}/source/model/DescribePlacementGroupsRequest.cpp"
    "${library_root}/source/model/DescribePlacementGroupsResponse.cpp"
    "${library_root}/source/model/DescribePrefixListsRequest.cpp"
    "${library_root}/source/model/DescribePrefixListsResponse.cpp"
    "${library_root}/source/model/DescribePrincipalIdFormatRequest.cpp"
    "${library_root}/source/model/DescribePrincipalIdFormatResponse.cpp"
    "${library_root}/source/model/DescribePublicIpv4PoolsRequest.cpp"
    "${library_root}/source/model/DescribePublicIpv4PoolsResponse.cpp"
    "${library_root}/source/model/DescribeRegionsRequest.cpp"
    "${library_root}/source/model/DescribeRegionsResponse.cpp"
    "${library_root}/source/model/DescribeReservedInstancesListingsRequest.cpp"
    "${library_root}/source/model/DescribeReservedInstancesListingsResponse.cpp"
    "${library_root}/source/model/DescribeReservedInstancesModificationsRequest.cpp"
    "${library_root}/source/model/DescribeReservedInstancesModificationsResponse.cpp"
    "${library_root}/source/model/DescribeReservedInstancesOfferingsRequest.cpp"
    "${library_root}/source/model/DescribeReservedInstancesOfferingsResponse.cpp"
    "${library_root}/source/model/DescribeReservedInstancesRequest.cpp"
    "${library_root}/source/model/DescribeReservedInstancesResponse.cpp"
    "${library_root}/source/model/DescribeRouteTablesRequest.cpp"
    "${library_root}/source/model/DescribeRouteTablesResponse.cpp"
    "${library_root}/source/model/DescribeScheduledInstanceAvailabilityRequest.cpp"
    "${library_root}/source/model/DescribeScheduledInstanceAvailabilityResponse.cpp"
    "${library_root}/source/model/DescribeScheduledInstancesRequest.cpp"
    "${library_root}/source/model/DescribeScheduledInstancesResponse.cpp"
    "${library_root}/source/model/DescribeSecurityGroupReferencesRequest.cpp"
    "${library_root}/source/model/DescribeSecurityGroupReferencesResponse.cpp"
    "${library_root}/source/model/DescribeSecurityGroupsRequest.cpp"
    "${library_root}/source/model/DescribeSecurityGroupsResponse.cpp"
    "${library_root}/source/model/DescribeSnapshotAttributeRequest.cpp"
    "${library_root}/source/model/DescribeSnapshotAttributeResponse.cpp"
    "${library_root}/source/model/DescribeSnapshotsRequest.cpp"
    "${library_root}/source/model/DescribeSnapshotsResponse.cpp"
    "${library_root}/source/model/DescribeSpotDatafeedSubscriptionRequest.cpp"
    "${library_root}/source/model/DescribeSpotDatafeedSubscriptionResponse.cpp"
    "${library_root}/source/model/DescribeSpotFleetInstancesRequest.cpp"
    "${library_root}/source/model/DescribeSpotFleetInstancesResponse.cpp"
    "${library_root}/source/model/DescribeSpotFleetRequestHistoryRequest.cpp"
    "${library_root}/source/model/DescribeSpotFleetRequestHistoryResponse.cpp"
    "${library_root}/source/model/DescribeSpotFleetRequestsRequest.cpp"
    "${library_root}/source/model/DescribeSpotFleetRequestsResponse.cpp"
    "${library_root}/source/model/DescribeSpotInstanceRequestsRequest.cpp"
    "${library_root}/source/model/DescribeSpotInstanceRequestsResponse.cpp"
    "${library_root}/source/model/DescribeSpotPriceHistoryRequest.cpp"
    "${library_root}/source/model/DescribeSpotPriceHistoryResponse.cpp"
    "${library_root}/source/model/DescribeStaleSecurityGroupsRequest.cpp"
    "${library_root}/source/model/DescribeStaleSecurityGroupsResponse.cpp"
    "${library_root}/source/model/DescribeSubnetsRequest.cpp"
    "${library_root}/source/model/DescribeSubnetsResponse.cpp"
    "${library_root}/source/model/DescribeTagsRequest.cpp"
    "${library_root}/source/model/DescribeTagsResponse.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorFiltersRequest.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorFiltersResponse.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorSessionsRequest.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorSessionsResponse.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorTargetsRequest.cpp"
    "${library_root}/source/model/DescribeTrafficMirrorTargetsResponse.cpp"
    "${library_root}/source/model/DescribeTransitGatewayAttachmentsRequest.cpp"
    "${library_root}/source/model/DescribeTransitGatewayAttachmentsResponse.cpp"
    "${library_root}/source/model/DescribeTransitGatewayRouteTablesRequest.cpp"
    "${library_root}/source/model/DescribeTransitGatewayRouteTablesResponse.cpp"
    "${library_root}/source/model/DescribeTransitGatewayVpcAttachmentsRequest.cpp"
    "${library_root}/source/model/DescribeTransitGatewayVpcAttachmentsResponse.cpp"
    "${library_root}/source/model/DescribeTransitGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeTransitGatewaysResponse.cpp"
    "${library_root}/source/model/DescribeVolumeAttributeRequest.cpp"
    "${library_root}/source/model/DescribeVolumeAttributeResponse.cpp"
    "${library_root}/source/model/DescribeVolumeStatusRequest.cpp"
    "${library_root}/source/model/DescribeVolumeStatusResponse.cpp"
    "${library_root}/source/model/DescribeVolumesModificationsRequest.cpp"
    "${library_root}/source/model/DescribeVolumesModificationsResponse.cpp"
    "${library_root}/source/model/DescribeVolumesRequest.cpp"
    "${library_root}/source/model/DescribeVolumesResponse.cpp"
    "${library_root}/source/model/DescribeVpcAttributeRequest.cpp"
    "${library_root}/source/model/DescribeVpcAttributeResponse.cpp"
    "${library_root}/source/model/DescribeVpcClassicLinkDnsSupportRequest.cpp"
    "${library_root}/source/model/DescribeVpcClassicLinkDnsSupportResponse.cpp"
    "${library_root}/source/model/DescribeVpcClassicLinkRequest.cpp"
    "${library_root}/source/model/DescribeVpcClassicLinkResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointConnectionNotificationsRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointConnectionNotificationsResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointConnectionsRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointConnectionsResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServiceConfigurationsRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServiceConfigurationsResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServicePermissionsRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServicePermissionsResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServicesRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointServicesResponse.cpp"
    "${library_root}/source/model/DescribeVpcEndpointsRequest.cpp"
    "${library_root}/source/model/DescribeVpcEndpointsResponse.cpp"
    "${library_root}/source/model/DescribeVpcPeeringConnectionsRequest.cpp"
    "${library_root}/source/model/DescribeVpcPeeringConnectionsResponse.cpp"
    "${library_root}/source/model/DescribeVpcsRequest.cpp"
    "${library_root}/source/model/DescribeVpcsResponse.cpp"
    "${library_root}/source/model/DescribeVpnConnectionsRequest.cpp"
    "${library_root}/source/model/DescribeVpnConnectionsResponse.cpp"
    "${library_root}/source/model/DescribeVpnGatewaysRequest.cpp"
    "${library_root}/source/model/DescribeVpnGatewaysResponse.cpp"
    "${library_root}/source/model/DetachClassicLinkVpcRequest.cpp"
    "${library_root}/source/model/DetachClassicLinkVpcResponse.cpp"
    "${library_root}/source/model/DetachInternetGatewayRequest.cpp"
    "${library_root}/source/model/DetachNetworkInterfaceRequest.cpp"
    "${library_root}/source/model/DetachVolumeRequest.cpp"
    "${library_root}/source/model/DetachVolumeResponse.cpp"
    "${library_root}/source/model/DetachVpnGatewayRequest.cpp"
    "${library_root}/source/model/DeviceType.cpp"
    "${library_root}/source/model/DhcpConfiguration.cpp"
    "${library_root}/source/model/DhcpOptions.cpp"
    "${library_root}/source/model/DirectoryServiceAuthentication.cpp"
    "${library_root}/source/model/DirectoryServiceAuthenticationRequest.cpp"
    "${library_root}/source/model/DisableEbsEncryptionByDefaultRequest.cpp"
    "${library_root}/source/model/DisableEbsEncryptionByDefaultResponse.cpp"
    "${library_root}/source/model/DisableTransitGatewayRouteTablePropagationRequest.cpp"
    "${library_root}/source/model/DisableTransitGatewayRouteTablePropagationResponse.cpp"
    "${library_root}/source/model/DisableVgwRoutePropagationRequest.cpp"
    "${library_root}/source/model/DisableVpcClassicLinkDnsSupportRequest.cpp"
    "${library_root}/source/model/DisableVpcClassicLinkDnsSupportResponse.cpp"
    "${library_root}/source/model/DisableVpcClassicLinkRequest.cpp"
    "${library_root}/source/model/DisableVpcClassicLinkResponse.cpp"
    "${library_root}/source/model/DisassociateAddressRequest.cpp"
    "${library_root}/source/model/DisassociateClientVpnTargetNetworkRequest.cpp"
    "${library_root}/source/model/DisassociateClientVpnTargetNetworkResponse.cpp"
    "${library_root}/source/model/DisassociateIamInstanceProfileRequest.cpp"
    "${library_root}/source/model/DisassociateIamInstanceProfileResponse.cpp"
    "${library_root}/source/model/DisassociateRouteTableRequest.cpp"
    "${library_root}/source/model/DisassociateSubnetCidrBlockRequest.cpp"
    "${library_root}/source/model/DisassociateSubnetCidrBlockResponse.cpp"
    "${library_root}/source/model/DisassociateTransitGatewayRouteTableRequest.cpp"
    "${library_root}/source/model/DisassociateTransitGatewayRouteTableResponse.cpp"
    "${library_root}/source/model/DisassociateVpcCidrBlockRequest.cpp"
    "${library_root}/source/model/DisassociateVpcCidrBlockResponse.cpp"
    "${library_root}/source/model/DiskImage.cpp"
    "${library_root}/source/model/DiskImageDescription.cpp"
    "${library_root}/source/model/DiskImageDetail.cpp"
    "${library_root}/source/model/DiskImageFormat.cpp"
    "${library_root}/source/model/DiskImageVolumeDescription.cpp"
    "${library_root}/source/model/DnsEntry.cpp"
    "${library_root}/source/model/DnsServersOptionsModifyStructure.cpp"
    "${library_root}/source/model/DnsSupportValue.cpp"
    "${library_root}/source/model/DomainType.cpp"
    "${library_root}/source/model/EbsBlockDevice.cpp"
    "${library_root}/source/model/EbsInstanceBlockDevice.cpp"
    "${library_root}/source/model/EbsInstanceBlockDeviceSpecification.cpp"
    "${library_root}/source/model/EgressOnlyInternetGateway.cpp"
    "${library_root}/source/model/ElasticGpuAssociation.cpp"
    "${library_root}/source/model/ElasticGpuHealth.cpp"
    "${library_root}/source/model/ElasticGpuSpecification.cpp"
    "${library_root}/source/model/ElasticGpuSpecificationResponse.cpp"
    "${library_root}/source/model/ElasticGpuState.cpp"
    "${library_root}/source/model/ElasticGpuStatus.cpp"
    "${library_root}/source/model/ElasticGpus.cpp"
    "${library_root}/source/model/ElasticInferenceAccelerator.cpp"
    "${library_root}/source/model/ElasticInferenceAcceleratorAssociation.cpp"
    "${library_root}/source/model/EnableEbsEncryptionByDefaultRequest.cpp"
    "${library_root}/source/model/EnableEbsEncryptionByDefaultResponse.cpp"
    "${library_root}/source/model/EnableTransitGatewayRouteTablePropagationRequest.cpp"
    "${library_root}/source/model/EnableTransitGatewayRouteTablePropagationResponse.cpp"
    "${library_root}/source/model/EnableVgwRoutePropagationRequest.cpp"
    "${library_root}/source/model/EnableVolumeIORequest.cpp"
    "${library_root}/source/model/EnableVpcClassicLinkDnsSupportRequest.cpp"
    "${library_root}/source/model/EnableVpcClassicLinkDnsSupportResponse.cpp"
    "${library_root}/source/model/EnableVpcClassicLinkRequest.cpp"
    "${library_root}/source/model/EnableVpcClassicLinkResponse.cpp"
    "${library_root}/source/model/EndDateType.cpp"
    "${library_root}/source/model/EventCode.cpp"
    "${library_root}/source/model/EventInformation.cpp"
    "${library_root}/source/model/EventType.cpp"
    "${library_root}/source/model/ExcessCapacityTerminationPolicy.cpp"
    "${library_root}/source/model/ExportClientVpnClientCertificateRevocationListRequest.cpp"
    "${library_root}/source/model/ExportClientVpnClientCertificateRevocationListResponse.cpp"
    "${library_root}/source/model/ExportClientVpnClientConfigurationRequest.cpp"
    "${library_root}/source/model/ExportClientVpnClientConfigurationResponse.cpp"
    "${library_root}/source/model/ExportEnvironment.cpp"
    "${library_root}/source/model/ExportImageRequest.cpp"
    "${library_root}/source/model/ExportImageResponse.cpp"
    "${library_root}/source/model/ExportImageTask.cpp"
    "${library_root}/source/model/ExportTask.cpp"
    "${library_root}/source/model/ExportTaskState.cpp"
    "${library_root}/source/model/ExportTaskS3Location.cpp"
    "${library_root}/source/model/ExportTaskS3LocationRequest.cpp"
    "${library_root}/source/model/ExportToS3Task.cpp"
    "${library_root}/source/model/ExportToS3TaskSpecification.cpp"
    "${library_root}/source/model/ExportTransitGatewayRoutesRequest.cpp"
    "${library_root}/source/model/ExportTransitGatewayRoutesResponse.cpp"
    "${library_root}/source/model/FailedQueuedPurchaseDeletion.cpp"
    "${library_root}/source/model/Filter.cpp"
    "${library_root}/source/model/FleetActivityStatus.cpp"
    "${library_root}/source/model/FleetData.cpp"
    "${library_root}/source/model/FleetEventType.cpp"
    "${library_root}/source/model/FleetExcessCapacityTerminationPolicy.cpp"
    "${library_root}/source/model/FleetLaunchTemplateConfig.cpp"
    "${library_root}/source/model/FleetLaunchTemplateConfigRequest.cpp"
    "${library_root}/source/model/FleetLaunchTemplateOverrides.cpp"
    "${library_root}/source/model/FleetLaunchTemplateOverridesRequest.cpp"
    "${library_root}/source/model/FleetLaunchTemplateSpecification.cpp"
    "${library_root}/source/model/FleetLaunchTemplateSpecificationRequest.cpp"
    "${library_root}/source/model/FleetOnDemandAllocationStrategy.cpp"
    "${library_root}/source/model/FleetStateCode.cpp"
    "${library_root}/source/model/FleetType.cpp"
    "${library_root}/source/model/FlowLog.cpp"
    "${library_root}/source/model/FlowLogsResourceType.cpp"
    "${library_root}/source/model/FpgaImage.cpp"
    "${library_root}/source/model/FpgaImageAttribute.cpp"
    "${library_root}/source/model/FpgaImageAttributeName.cpp"
    "${library_root}/source/model/FpgaImageState.cpp"
    "${library_root}/source/model/FpgaImageStateCode.cpp"
    "${library_root}/source/model/GatewayType.cpp"
    "${library_root}/source/model/GetCapacityReservationUsageRequest.cpp"
    "${library_root}/source/model/GetCapacityReservationUsageResponse.cpp"
    "${library_root}/source/model/GetConsoleOutputRequest.cpp"
    "${library_root}/source/model/GetConsoleOutputResponse.cpp"
    "${library_root}/source/model/GetConsoleScreenshotRequest.cpp"
    "${library_root}/source/model/GetConsoleScreenshotResponse.cpp"
    "${library_root}/source/model/GetEbsDefaultKmsKeyIdRequest.cpp"
    "${library_root}/source/model/GetEbsDefaultKmsKeyIdResponse.cpp"
    "${library_root}/source/model/GetEbsEncryptionByDefaultRequest.cpp"
    "${library_root}/source/model/GetEbsEncryptionByDefaultResponse.cpp"
    "${library_root}/source/model/GetHostReservationPurchasePreviewRequest.cpp"
    "${library_root}/source/model/GetHostReservationPurchasePreviewResponse.cpp"
    "${library_root}/source/model/GetLaunchTemplateDataRequest.cpp"
    "${library_root}/source/model/GetLaunchTemplateDataResponse.cpp"
    "${library_root}/source/model/GetPasswordDataRequest.cpp"
    "${library_root}/source/model/GetPasswordDataResponse.cpp"
    "${library_root}/source/model/GetReservedInstancesExchangeQuoteRequest.cpp"
    "${library_root}/source/model/GetReservedInstancesExchangeQuoteResponse.cpp"
    "${library_root}/source/model/GetTransitGatewayAttachmentPropagationsRequest.cpp"
    "${library_root}/source/model/GetTransitGatewayAttachmentPropagationsResponse.cpp"
    "${library_root}/source/model/GetTransitGatewayRouteTableAssociationsRequest.cpp"
    "${library_root}/source/model/GetTransitGatewayRouteTableAssociationsResponse.cpp"
    "${library_root}/source/model/GetTransitGatewayRouteTablePropagationsRequest.cpp"
    "${library_root}/source/model/GetTransitGatewayRouteTablePropagationsResponse.cpp"
    "${library_root}/source/model/GroupIdentifier.cpp"
    "${library_root}/source/model/HibernationOptions.cpp"
    "${library_root}/source/model/HibernationOptionsRequest.cpp"
    "${library_root}/source/model/HistoryRecord.cpp"
    "${library_root}/source/model/HistoryRecordEntry.cpp"
    "${library_root}/source/model/Host.cpp"
    "${library_root}/source/model/HostInstance.cpp"
    "${library_root}/source/model/HostOffering.cpp"
    "${library_root}/source/model/HostProperties.cpp"
    "${library_root}/source/model/HostRecovery.cpp"
    "${library_root}/source/model/HostReservation.cpp"
    "${library_root}/source/model/HostTenancy.cpp"
    "${library_root}/source/model/HttpTokensState.cpp"
    "${library_root}/source/model/HypervisorType.cpp"
    "${library_root}/source/model/IamInstanceProfile.cpp"
    "${library_root}/source/model/IamInstanceProfileAssociation.cpp"
    "${library_root}/source/model/IamInstanceProfileAssociationState.cpp"
    "${library_root}/source/model/IamInstanceProfileSpecification.cpp"
    "${library_root}/source/model/IcmpTypeCode.cpp"
    "${library_root}/source/model/IdFormat.cpp"
    "${library_root}/source/model/Image.cpp"
    "${library_root}/source/model/ImageAttributeName.cpp"
    "${library_root}/source/model/ImageDiskContainer.cpp"
    "${library_root}/source/model/ImageState.cpp"
    "${library_root}/source/model/ImageTypeValues.cpp"
    "${library_root}/source/model/ImportClientVpnClientCertificateRevocationListRequest.cpp"
    "${library_root}/source/model/ImportClientVpnClientCertificateRevocationListResponse.cpp"
    "${library_root}/source/model/ImportImageRequest.cpp"
    "${library_root}/source/model/ImportImageResponse.cpp"
    "${library_root}/source/model/ImportImageTask.cpp"
    "${library_root}/source/model/ImportInstanceLaunchSpecification.cpp"
    "${library_root}/source/model/ImportInstanceRequest.cpp"
    "${library_root}/source/model/ImportInstanceResponse.cpp"
    "${library_root}/source/model/ImportInstanceTaskDetails.cpp"
    "${library_root}/source/model/ImportInstanceVolumeDetailItem.cpp"
    "${library_root}/source/model/ImportKeyPairRequest.cpp"
    "${library_root}/source/model/ImportKeyPairResponse.cpp"
    "${library_root}/source/model/ImportSnapshotRequest.cpp"
    "${library_root}/source/model/ImportSnapshotResponse.cpp"
    "${library_root}/source/model/ImportSnapshotTask.cpp"
    "${library_root}/source/model/ImportVolumeRequest.cpp"
    "${library_root}/source/model/ImportVolumeResponse.cpp"
    "${library_root}/source/model/ImportVolumeTaskDetails.cpp"
    "${library_root}/source/model/Instance.cpp"
    "${library_root}/source/model/InstanceAttributeName.cpp"
    "${library_root}/source/model/InstanceBlockDeviceMapping.cpp"
    "${library_root}/source/model/InstanceBlockDeviceMappingSpecification.cpp"
    "${library_root}/source/model/InstanceCapacity.cpp"
    "${library_root}/source/model/InstanceCount.cpp"
    "${library_root}/source/model/InstanceCreditSpecification.cpp"
    "${library_root}/source/model/InstanceCreditSpecificationRequest.cpp"
    "${library_root}/source/model/InstanceExportDetails.cpp"
    "${library_root}/source/model/InstanceHealthStatus.cpp"
    "${library_root}/source/model/InstanceInterruptionBehavior.cpp"
    "${library_root}/source/model/InstanceIpv6Address.cpp"
    "${library_root}/source/model/InstanceIpv6AddressRequest.cpp"
    "${library_root}/source/model/InstanceLifecycle.cpp"
    "${library_root}/source/model/InstanceLifecycleType.cpp"
    "${library_root}/source/model/InstanceMarketOptionsRequest.cpp"
    "${library_root}/source/model/InstanceMatchCriteria.cpp"
    "${library_root}/source/model/InstanceMetadataEndpointState.cpp"
    "${library_root}/source/model/InstanceMetadataOptionsRequest.cpp"
    "${library_root}/source/model/InstanceMetadataOptionsResponse.cpp"
    "${library_root}/source/model/InstanceMetadataOptionsState.cpp"
    "${library_root}/source/model/InstanceMonitoring.cpp"
    "${library_root}/source/model/InstanceNetworkInterface.cpp"
    "${library_root}/source/model/InstanceNetworkInterfaceAssociation.cpp"
    "${library_root}/source/model/InstanceNetworkInterfaceAttachment.cpp"
    "${library_root}/source/model/InstanceNetworkInterfaceSpecification.cpp"
    "${library_root}/source/model/InstancePrivateIpAddress.cpp"
    "${library_root}/source/model/InstanceSpecification.cpp"
    "${library_root}/source/model/InstanceState.cpp"
    "${library_root}/source/model/InstanceStateChange.cpp"
    "${library_root}/source/model/InstanceStateName.cpp"
    "${library_root}/source/model/InstanceStatus.cpp"
    "${library_root}/source/model/InstanceStatusDetails.cpp"
    "${library_root}/source/model/InstanceStatusEvent.cpp"
    "${library_root}/source/model/InstanceStatusSummary.cpp"
    "${library_root}/source/model/InstanceType.cpp"
    "${library_root}/source/model/InstanceUsage.cpp"
    "${library_root}/source/model/InterfacePermissionType.cpp"
    "${library_root}/source/model/InternetGateway.cpp"
    "${library_root}/source/model/InternetGatewayAttachment.cpp"
    "${library_root}/source/model/IpPermission.cpp"
    "${library_root}/source/model/IpRange.cpp"
    "${library_root}/source/model/Ipv6CidrBlock.cpp"
    "${library_root}/source/model/Ipv6Range.cpp"
    "${library_root}/source/model/Ipv6SupportValue.cpp"
    "${library_root}/source/model/KeyPairInfo.cpp"
    "${library_root}/source/model/LaunchPermission.cpp"
    "${library_root}/source/model/LaunchPermissionModifications.cpp"
    "${library_root}/source/model/LaunchSpecification.cpp"
    "${library_root}/source/model/LaunchTemplate.cpp"
    "${library_root}/source/model/LaunchTemplateAndOverridesResponse.cpp"
    "${library_root}/source/model/LaunchTemplateBlockDeviceMapping.cpp"
    "${library_root}/source/model/LaunchTemplateBlockDeviceMappingRequest.cpp"
    "${library_root}/source/model/LaunchTemplateCapacityReservationSpecificationRequest.cpp"
    "${library_root}/source/model/LaunchTemplateCapacityReservationSpecificationResponse.cpp"
    "${library_root}/source/model/LaunchTemplateConfig.cpp"
    "${library_root}/source/model/LaunchTemplateCpuOptions.cpp"
    "${library_root}/source/model/LaunchTemplateCpuOptionsRequest.cpp"
    "${library_root}/source/model/LaunchTemplateEbsBlockDevice.cpp"
    "${library_root}/source/model/LaunchTemplateEbsBlockDeviceRequest.cpp"
    "${library_root}/source/model/LaunchTemplateElasticInferenceAccelerator.cpp"
    "${library_root}/source/model/LaunchTemplateElasticInferenceAcceleratorResponse.cpp"
    "${library_root}/source/model/LaunchTemplateErrorCode.cpp"
    "${library_root}/source/model/LaunchTemplateHibernationOptions.cpp"
    "${library_root}/source/model/LaunchTemplateHibernationOptionsRequest.cpp"
    "${library_root}/source/model/LaunchTemplateIamInstanceProfileSpecification.cpp"
    "${library_root}/source/model/LaunchTemplateIamInstanceProfileSpecificationRequest.cpp"
    "${library_root}/source/model/LaunchTemplateInstanceMarketOptions.cpp"
    "${library_root}/source/model/LaunchTemplateInstanceMarketOptionsRequest.cpp"
    "${library_root}/source/model/LaunchTemplateInstanceNetworkInterfaceSpecification.cpp"
    "${library_root}/source/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.cpp"
    "${library_root}/source/model/LaunchTemplateLicenseConfiguration.cpp"
    "${library_root}/source/model/LaunchTemplateLicenseConfigurationRequest.cpp"
    "${library_root}/source/model/LaunchTemplateOverrides.cpp"
    "${library_root}/source/model/LaunchTemplatePlacement.cpp"
    "${library_root}/source/model/LaunchTemplatePlacementRequest.cpp"
    "${library_root}/source/model/LaunchTemplateSpecification.cpp"
    "${library_root}/source/model/LaunchTemplateSpotMarketOptions.cpp"
    "${library_root}/source/model/LaunchTemplateSpotMarketOptionsRequest.cpp"
    "${library_root}/source/model/LaunchTemplateTagSpecification.cpp"
    "${library_root}/source/model/LaunchTemplateTagSpecificationRequest.cpp"
    "${library_root}/source/model/LaunchTemplateVersion.cpp"
    "${library_root}/source/model/LaunchTemplatesMonitoring.cpp"
    "${library_root}/source/model/LaunchTemplatesMonitoringRequest.cpp"
    "${library_root}/source/model/LicenseConfiguration.cpp"
    "${library_root}/source/model/LicenseConfigurationRequest.cpp"
    "${library_root}/source/model/ListingState.cpp"
    "${library_root}/source/model/ListingStatus.cpp"
    "${library_root}/source/model/LoadBalancersConfig.cpp"
    "${library_root}/source/model/LoadPermission.cpp"
    "${library_root}/source/model/LoadPermissionModifications.cpp"
    "${library_root}/source/model/LoadPermissionRequest.cpp"
    "${library_root}/source/model/LogDestinationType.cpp"
    "${library_root}/source/model/MarketType.cpp"
    "${library_root}/source/model/ModifyCapacityReservationRequest.cpp"
    "${library_root}/source/model/ModifyCapacityReservationResponse.cpp"
    "${library_root}/source/model/ModifyClientVpnEndpointRequest.cpp"
    "${library_root}/source/model/ModifyClientVpnEndpointResponse.cpp"
    "${library_root}/source/model/ModifyEbsDefaultKmsKeyIdRequest.cpp"
    "${library_root}/source/model/ModifyEbsDefaultKmsKeyIdResponse.cpp"
    "${library_root}/source/model/ModifyFleetRequest.cpp"
    "${library_root}/source/model/ModifyFleetResponse.cpp"
    "${library_root}/source/model/ModifyFpgaImageAttributeRequest.cpp"
    "${library_root}/source/model/ModifyFpgaImageAttributeResponse.cpp"
    "${library_root}/source/model/ModifyHostsRequest.cpp"
    "${library_root}/source/model/ModifyHostsResponse.cpp"
    "${library_root}/source/model/ModifyIdFormatRequest.cpp"
    "${library_root}/source/model/ModifyIdentityIdFormatRequest.cpp"
    "${library_root}/source/model/ModifyImageAttributeRequest.cpp"
    "${library_root}/source/model/ModifyInstanceAttributeRequest.cpp"
    "${library_root}/source/model/ModifyInstanceCapacityReservationAttributesRequest.cpp"
    "${library_root}/source/model/ModifyInstanceCapacityReservationAttributesResponse.cpp"
    "${library_root}/source/model/ModifyInstanceCreditSpecificationRequest.cpp"
    "${library_root}/source/model/ModifyInstanceCreditSpecificationResponse.cpp"
    "${library_root}/source/model/ModifyInstanceEventStartTimeRequest.cpp"
    "${library_root}/source/model/ModifyInstanceEventStartTimeResponse.cpp"
    "${library_root}/source/model/ModifyInstanceMetadataOptionsRequest.cpp"
    "${library_root}/source/model/ModifyInstanceMetadataOptionsResponse.cpp"
    "${library_root}/source/model/ModifyInstancePlacementRequest.cpp"
    "${library_root}/source/model/ModifyInstancePlacementResponse.cpp"
    "${library_root}/source/model/ModifyLaunchTemplateRequest.cpp"
    "${library_root}/source/model/ModifyLaunchTemplateResponse.cpp"
    "${library_root}/source/model/ModifyNetworkInterfaceAttributeRequest.cpp"
    "${library_root}/source/model/ModifyReservedInstancesRequest.cpp"
    "${library_root}/source/model/ModifyReservedInstancesResponse.cpp"
    "${library_root}/source/model/ModifySnapshotAttributeRequest.cpp"
    "${library_root}/source/model/ModifySpotFleetRequestRequest.cpp"
    "${library_root}/source/model/ModifySpotFleetRequestResponse.cpp"
    "${library_root}/source/model/ModifySubnetAttributeRequest.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorFilterNetworkServicesRequest.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorFilterNetworkServicesResponse.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorFilterRuleRequest.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorFilterRuleResponse.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorSessionRequest.cpp"
    "${library_root}/source/model/ModifyTrafficMirrorSessionResponse.cpp"
    "${library_root}/source/model/ModifyTransitGatewayVpcAttachmentRequest.cpp"
    "${library_root}/source/model/ModifyTransitGatewayVpcAttachmentRequestOptions.cpp"
    "${library_root}/source/model/ModifyTransitGatewayVpcAttachmentResponse.cpp"
    "${library_root}/source/model/ModifyVolumeAttributeRequest.cpp"
    "${library_root}/source/model/ModifyVolumeRequest.cpp"
    "${library_root}/source/model/ModifyVolumeResponse.cpp"
    "${library_root}/source/model/ModifyVpcAttributeRequest.cpp"
    "${library_root}/source/model/ModifyVpcEndpointConnectionNotificationRequest.cpp"
    "${library_root}/source/model/ModifyVpcEndpointConnectionNotificationResponse.cpp"
    "${library_root}/source/model/ModifyVpcEndpointRequest.cpp"
    "${library_root}/source/model/ModifyVpcEndpointResponse.cpp"
    "${library_root}/source/model/ModifyVpcEndpointServiceConfigurationRequest.cpp"
    "${library_root}/source/model/ModifyVpcEndpointServiceConfigurationResponse.cpp"
    "${library_root}/source/model/ModifyVpcEndpointServicePermissionsRequest.cpp"
    "${library_root}/source/model/ModifyVpcEndpointServicePermissionsResponse.cpp"
    "${library_root}/source/model/ModifyVpcPeeringConnectionOptionsRequest.cpp"
    "${library_root}/source/model/ModifyVpcPeeringConnectionOptionsResponse.cpp"
    "${library_root}/source/model/ModifyVpcTenancyRequest.cpp"
    "${library_root}/source/model/ModifyVpcTenancyResponse.cpp"
    "${library_root}/source/model/ModifyVpnConnectionRequest.cpp"
    "${library_root}/source/model/ModifyVpnConnectionResponse.cpp"
    "${library_root}/source/model/ModifyVpnTunnelCertificateRequest.cpp"
    "${library_root}/source/model/ModifyVpnTunnelCertificateResponse.cpp"
    "${library_root}/source/model/ModifyVpnTunnelOptionsRequest.cpp"
    "${library_root}/source/model/ModifyVpnTunnelOptionsResponse.cpp"
    "${library_root}/source/model/ModifyVpnTunnelOptionsSpecification.cpp"
    "${library_root}/source/model/MonitorInstancesRequest.cpp"
    "${library_root}/source/model/MonitorInstancesResponse.cpp"
    "${library_root}/source/model/Monitoring.cpp"
    "${library_root}/source/model/MonitoringState.cpp"
    "${library_root}/source/model/MoveAddressToVpcRequest.cpp"
    "${library_root}/source/model/MoveAddressToVpcResponse.cpp"
    "${library_root}/source/model/MoveStatus.cpp"
    "${library_root}/source/model/MovingAddressStatus.cpp"
    "${library_root}/source/model/NatGateway.cpp"
    "${library_root}/source/model/NatGatewayAddress.cpp"
    "${library_root}/source/model/NatGatewayState.cpp"
    "${library_root}/source/model/NetworkAcl.cpp"
    "${library_root}/source/model/NetworkAclAssociation.cpp"
    "${library_root}/source/model/NetworkAclEntry.cpp"
    "${library_root}/source/model/NetworkInterface.cpp"
    "${library_root}/source/model/NetworkInterfaceAssociation.cpp"
    "${library_root}/source/model/NetworkInterfaceAttachment.cpp"
    "${library_root}/source/model/NetworkInterfaceAttachmentChanges.cpp"
    "${library_root}/source/model/NetworkInterfaceAttribute.cpp"
    "${library_root}/source/model/NetworkInterfaceCreationType.cpp"
    "${library_root}/source/model/NetworkInterfaceIpv6Address.cpp"
    "${library_root}/source/model/NetworkInterfacePermission.cpp"
    "${library_root}/source/model/NetworkInterfacePermissionState.cpp"
    "${library_root}/source/model/NetworkInterfacePermissionStateCode.cpp"
    "${library_root}/source/model/NetworkInterfacePrivateIpAddress.cpp"
    "${library_root}/source/model/NetworkInterfaceStatus.cpp"
    "${library_root}/source/model/NetworkInterfaceType.cpp"
    "${library_root}/source/model/NewDhcpConfiguration.cpp"
    "${library_root}/source/model/OfferingClassType.cpp"
    "${library_root}/source/model/OfferingTypeValues.cpp"
    "${library_root}/source/model/OnDemandAllocationStrategy.cpp"
    "${library_root}/source/model/OnDemandOptions.cpp"
    "${library_root}/source/model/OnDemandOptionsRequest.cpp"
    "${library_root}/source/model/OperationType.cpp"
    "${library_root}/source/model/PaymentOption.cpp"
    "${library_root}/source/model/PciId.cpp"
    "${library_root}/source/model/PeeringConnectionOptions.cpp"
    "${library_root}/source/model/PeeringConnectionOptionsRequest.cpp"
    "${library_root}/source/model/PermissionGroup.cpp"
    "${library_root}/source/model/Phase1EncryptionAlgorithmsRequestListValue.cpp"
    "${library_root}/source/model/Phase1IntegrityAlgorithmsRequestListValue.cpp"
    "${library_root}/source/model/Phase1DHGroupNumbersRequestListValue.cpp"
    "${library_root}/source/model/Phase2EncryptionAlgorithmsRequestListValue.cpp"
    "${library_root}/source/model/Phase2IntegrityAlgorithmsRequestListValue.cpp"
    "${library_root}/source/model/Phase2DHGroupNumbersRequestListValue.cpp"
    "${library_root}/source/model/IKEVersionsRequestListValue.cpp"
    "${library_root}/source/model/Phase1EncryptionAlgorithmsListValue.cpp"
    "${library_root}/source/model/Phase1IntegrityAlgorithmsListValue.cpp"
    "${library_root}/source/model/Phase1DHGroupNumbersListValue.cpp"
    "${library_root}/source/model/Phase2EncryptionAlgorithmsListValue.cpp"
    "${library_root}/source/model/Phase2IntegrityAlgorithmsListValue.cpp"
    "${library_root}/source/model/Phase2DHGroupNumbersListValue.cpp"
    "${library_root}/source/model/IKEVersionsListValue.cpp"
    "${library_root}/source/model/Placement.cpp"
    "${library_root}/source/model/PlacementGroup.cpp"
    "${library_root}/source/model/PlacementGroupState.cpp"
    "${library_root}/source/model/PlacementResponse.cpp"
    "${library_root}/source/model/PlacementStrategy.cpp"
    "${library_root}/source/model/PlatformValues.cpp"
    "${library_root}/source/model/PortRange.cpp"
    "${library_root}/source/model/PrefixList.cpp"
    "${library_root}/source/model/PrefixListId.cpp"
    "${library_root}/source/model/PriceSchedule.cpp"
    "${library_root}/source/model/PriceScheduleSpecification.cpp"
    "${library_root}/source/model/PricingDetail.cpp"
    "${library_root}/source/model/PrincipalIdFormat.cpp"
    "${library_root}/source/model/PrincipalType.cpp"
    "${library_root}/source/model/PrivateIpAddressSpecification.cpp"
    "${library_root}/source/model/ProductCode.cpp"
    "${library_root}/source/model/ProductCodeValues.cpp"
    "${library_root}/source/model/PropagatingVgw.cpp"
    "${library_root}/source/model/ProvisionByoipCidrRequest.cpp"
    "${library_root}/source/model/ProvisionByoipCidrResponse.cpp"
    "${library_root}/source/model/ProvisionedBandwidth.cpp"
    "${library_root}/source/model/PublicIpv4Pool.cpp"
    "${library_root}/source/model/PublicIpv4PoolRange.cpp"
    "${library_root}/source/model/Purchase.cpp"
    "${library_root}/source/model/PurchaseHostReservationRequest.cpp"
    "${library_root}/source/model/PurchaseHostReservationResponse.cpp"
    "${library_root}/source/model/PurchaseRequest.cpp"
    "${library_root}/source/model/PurchaseReservedInstancesOfferingRequest.cpp"
    "${library_root}/source/model/PurchaseReservedInstancesOfferingResponse.cpp"
    "${library_root}/source/model/PurchaseScheduledInstancesRequest.cpp"
    "${library_root}/source/model/PurchaseScheduledInstancesResponse.cpp"
    "${library_root}/source/model/RIProductDescription.cpp"
    "${library_root}/source/model/RebootInstancesRequest.cpp"
    "${library_root}/source/model/RecurringCharge.cpp"
    "${library_root}/source/model/RecurringChargeFrequency.cpp"
    "${library_root}/source/model/Region.cpp"
    "${library_root}/source/model/RegisterImageRequest.cpp"
    "${library_root}/source/model/RegisterImageResponse.cpp"
    "${library_root}/source/model/RejectTransitGatewayVpcAttachmentRequest.cpp"
    "${library_root}/source/model/RejectTransitGatewayVpcAttachmentResponse.cpp"
    "${library_root}/source/model/RejectVpcEndpointConnectionsRequest.cpp"
    "${library_root}/source/model/RejectVpcEndpointConnectionsResponse.cpp"
    "${library_root}/source/model/RejectVpcPeeringConnectionRequest.cpp"
    "${library_root}/source/model/RejectVpcPeeringConnectionResponse.cpp"
    "${library_root}/source/model/ReleaseAddressRequest.cpp"
    "${library_root}/source/model/ReleaseHostsRequest.cpp"
    "${library_root}/source/model/ReleaseHostsResponse.cpp"
    "${library_root}/source/model/ReplaceIamInstanceProfileAssociationRequest.cpp"
    "${library_root}/source/model/ReplaceIamInstanceProfileAssociationResponse.cpp"
    "${library_root}/source/model/ReplaceNetworkAclAssociationRequest.cpp"
    "${library_root}/source/model/ReplaceNetworkAclAssociationResponse.cpp"
    "${library_root}/source/model/ReplaceNetworkAclEntryRequest.cpp"
    "${library_root}/source/model/ReplaceRouteRequest.cpp"
    "${library_root}/source/model/ReplaceRouteTableAssociationRequest.cpp"
    "${library_root}/source/model/ReplaceRouteTableAssociationResponse.cpp"
    "${library_root}/source/model/ReplaceTransitGatewayRouteRequest.cpp"
    "${library_root}/source/model/ReplaceTransitGatewayRouteResponse.cpp"
    "${library_root}/source/model/ReportInstanceReasonCodes.cpp"
    "${library_root}/source/model/ReportInstanceStatusRequest.cpp"
    "${library_root}/source/model/ReportStatusType.cpp"
    "${library_root}/source/model/RequestLaunchTemplateData.cpp"
    "${library_root}/source/model/RequestSpotFleetRequest.cpp"
    "${library_root}/source/model/RequestSpotFleetResponse.cpp"
    "${library_root}/source/model/RequestSpotInstancesRequest.cpp"
    "${library_root}/source/model/RequestSpotInstancesResponse.cpp"
    "${library_root}/source/model/RequestSpotLaunchSpecification.cpp"
    "${library_root}/source/model/Reservation.cpp"
    "${library_root}/source/model/ReservationState.cpp"
    "${library_root}/source/model/ReservationValue.cpp"
    "${library_root}/source/model/ReservedInstanceLimitPrice.cpp"
    "${library_root}/source/model/ReservedInstanceReservationValue.cpp"
    "${library_root}/source/model/ReservedInstanceState.cpp"
    "${library_root}/source/model/ReservedInstances.cpp"
    "${library_root}/source/model/ReservedInstancesConfiguration.cpp"
    "${library_root}/source/model/ReservedInstancesId.cpp"
    "${library_root}/source/model/ReservedInstancesListing.cpp"
    "${library_root}/source/model/ReservedInstancesModification.cpp"
    "${library_root}/source/model/ReservedInstancesModificationResponse.cpp"
    "${library_root}/source/model/ReservedInstancesOffering.cpp"
    "${library_root}/source/model/ResetEbsDefaultKmsKeyIdRequest.cpp"
    "${library_root}/source/model/ResetEbsDefaultKmsKeyIdResponse.cpp"
    "${library_root}/source/model/ResetFpgaImageAttributeName.cpp"
    "${library_root}/source/model/ResetFpgaImageAttributeRequest.cpp"
    "${library_root}/source/model/ResetFpgaImageAttributeResponse.cpp"
    "${library_root}/source/model/ResetImageAttributeName.cpp"
    "${library_root}/source/model/ResetImageAttributeRequest.cpp"
    "${library_root}/source/model/ResetInstanceAttributeRequest.cpp"
    "${library_root}/source/model/ResetNetworkInterfaceAttributeRequest.cpp"
    "${library_root}/source/model/ResetSnapshotAttributeRequest.cpp"
    "${library_root}/source/model/ResourceType.cpp"
    "${library_root}/source/model/ResponseError.cpp"
    "${library_root}/source/model/ResponseLaunchTemplateData.cpp"
    "${library_root}/source/model/ResponseMetadata.cpp"
    "${library_root}/source/model/RestoreAddressToClassicRequest.cpp"
    "${library_root}/source/model/RestoreAddressToClassicResponse.cpp"
    "${library_root}/source/model/RevokeClientVpnIngressRequest.cpp"
    "${library_root}/source/model/RevokeClientVpnIngressResponse.cpp"
    "${library_root}/source/model/RevokeSecurityGroupEgressRequest.cpp"
    "${library_root}/source/model/RevokeSecurityGroupIngressRequest.cpp"
    "${library_root}/source/model/Route.cpp"
    "${library_root}/source/model/RouteOrigin.cpp"
    "${library_root}/source/model/RouteState.cpp"
    "${library_root}/source/model/RouteTable.cpp"
    "${library_root}/source/model/RouteTableAssociation.cpp"
    "${library_root}/source/model/RuleAction.cpp"
    "${library_root}/source/model/RunInstancesMonitoringEnabled.cpp"
    "${library_root}/source/model/RunInstancesRequest.cpp"
    "${library_root}/source/model/RunInstancesResponse.cpp"
    "${library_root}/source/model/RunScheduledInstancesRequest.cpp"
    "${library_root}/source/model/RunScheduledInstancesResponse.cpp"
    "${library_root}/source/model/S3Storage.cpp"
    "${library_root}/source/model/ScheduledInstance.cpp"
    "${library_root}/source/model/ScheduledInstanceAvailability.cpp"
    "${library_root}/source/model/ScheduledInstanceRecurrence.cpp"
    "${library_root}/source/model/ScheduledInstanceRecurrenceRequest.cpp"
    "${library_root}/source/model/ScheduledInstancesBlockDeviceMapping.cpp"
    "${library_root}/source/model/ScheduledInstancesEbs.cpp"
    "${library_root}/source/model/ScheduledInstancesIamInstanceProfile.cpp"
    "${library_root}/source/model/ScheduledInstancesIpv6Address.cpp"
    "${library_root}/source/model/ScheduledInstancesLaunchSpecification.cpp"
    "${library_root}/source/model/ScheduledInstancesMonitoring.cpp"
    "${library_root}/source/model/ScheduledInstancesNetworkInterface.cpp"
    "${library_root}/source/model/ScheduledInstancesPlacement.cpp"
    "${library_root}/source/model/ScheduledInstancesPrivateIpAddressConfig.cpp"
    "${library_root}/source/model/Scope.cpp"
    "${library_root}/source/model/SearchTransitGatewayRoutesRequest.cpp"
    "${library_root}/source/model/SearchTransitGatewayRoutesResponse.cpp"
    "${library_root}/source/model/SecurityGroup.cpp"
    "${library_root}/source/model/SecurityGroupIdentifier.cpp"
    "${library_root}/source/model/SecurityGroupReference.cpp"
    "${library_root}/source/model/SendDiagnosticInterruptRequest.cpp"
    "${library_root}/source/model/ServiceConfiguration.cpp"
    "${library_root}/source/model/ServiceDetail.cpp"
    "${library_root}/source/model/ServiceState.cpp"
    "${library_root}/source/model/ServiceType.cpp"
    "${library_root}/source/model/ServiceTypeDetail.cpp"
    "${library_root}/source/model/ShutdownBehavior.cpp"
    "${library_root}/source/model/SlotDateTimeRangeRequest.cpp"
    "${library_root}/source/model/SlotStartTimeRangeRequest.cpp"
    "${library_root}/source/model/Snapshot.cpp"
    "${library_root}/source/model/SnapshotAttributeName.cpp"
    "${library_root}/source/model/SnapshotDetail.cpp"
    "${library_root}/source/model/SnapshotDiskContainer.cpp"
    "${library_root}/source/model/SnapshotInfo.cpp"
    "${library_root}/source/model/SnapshotState.cpp"
    "${library_root}/source/model/SnapshotTaskDetail.cpp"
    "${library_root}/source/model/SpotAllocationStrategy.cpp"
    "${library_root}/source/model/SpotDatafeedSubscription.cpp"
    "${library_root}/source/model/SpotFleetLaunchSpecification.cpp"
    "${library_root}/source/model/SpotFleetMonitoring.cpp"
    "${library_root}/source/model/SpotFleetRequestConfig.cpp"
    "${library_root}/source/model/SpotFleetRequestConfigData.cpp"
    "${library_root}/source/model/SpotFleetTagSpecification.cpp"
    "${library_root}/source/model/SpotInstanceInterruptionBehavior.cpp"
    "${library_root}/source/model/SpotInstanceRequest.cpp"
    "${library_root}/source/model/SpotInstanceState.cpp"
    "${library_root}/source/model/SpotInstanceStateFault.cpp"
    "${library_root}/source/model/SpotInstanceStatus.cpp"
    "${library_root}/source/model/SpotInstanceType.cpp"
    "${library_root}/source/model/SpotMarketOptions.cpp"
    "${library_root}/source/model/SpotOptions.cpp"
    "${library_root}/source/model/SpotOptionsRequest.cpp"
    "${library_root}/source/model/SpotPlacement.cpp"
    "${library_root}/source/model/SpotPrice.cpp"
    "${library_root}/source/model/StaleIpPermission.cpp"
    "${library_root}/source/model/StaleSecurityGroup.cpp"
    "${library_root}/source/model/StartInstancesRequest.cpp"
    "${library_root}/source/model/StartInstancesResponse.cpp"
    "${library_root}/source/model/State.cpp"
    "${library_root}/source/model/StateReason.cpp"
    "${library_root}/source/model/Status.cpp"
    "${library_root}/source/model/StatusName.cpp"
    "${library_root}/source/model/StatusType.cpp"
    "${library_root}/source/model/StopInstancesRequest.cpp"
    "${library_root}/source/model/StopInstancesResponse.cpp"
    "${library_root}/source/model/Storage.cpp"
    "${library_root}/source/model/StorageLocation.cpp"
    "${library_root}/source/model/Subnet.cpp"
    "${library_root}/source/model/SubnetCidrBlockState.cpp"
    "${library_root}/source/model/SubnetCidrBlockStateCode.cpp"
    "${library_root}/source/model/SubnetIpv6CidrBlockAssociation.cpp"
    "${library_root}/source/model/SubnetState.cpp"
    "${library_root}/source/model/SuccessfulInstanceCreditSpecificationItem.cpp"
    "${library_root}/source/model/SuccessfulQueuedPurchaseDeletion.cpp"
    "${library_root}/source/model/SummaryStatus.cpp"
    "${library_root}/source/model/Tag.cpp"
    "${library_root}/source/model/TagDescription.cpp"
    "${library_root}/source/model/TagSpecification.cpp"
    "${library_root}/source/model/TargetCapacitySpecification.cpp"
    "${library_root}/source/model/TargetCapacitySpecificationRequest.cpp"
    "${library_root}/source/model/TargetConfiguration.cpp"
    "${library_root}/source/model/TargetConfigurationRequest.cpp"
    "${library_root}/source/model/TargetGroup.cpp"
    "${library_root}/source/model/TargetGroupsConfig.cpp"
    "${library_root}/source/model/TargetNetwork.cpp"
    "${library_root}/source/model/TargetReservationValue.cpp"
    "${library_root}/source/model/TelemetryStatus.cpp"
    "${library_root}/source/model/Tenancy.cpp"
    "${library_root}/source/model/TerminateClientVpnConnectionsRequest.cpp"
    "${library_root}/source/model/TerminateClientVpnConnectionsResponse.cpp"
    "${library_root}/source/model/TerminateConnectionStatus.cpp"
    "${library_root}/source/model/TerminateInstancesRequest.cpp"
    "${library_root}/source/model/TerminateInstancesResponse.cpp"
    "${library_root}/source/model/TrafficDirection.cpp"
    "${library_root}/source/model/TrafficMirrorFilter.cpp"
    "${library_root}/source/model/TrafficMirrorFilterRule.cpp"
    "${library_root}/source/model/TrafficMirrorFilterRuleField.cpp"
    "${library_root}/source/model/TrafficMirrorNetworkService.cpp"
    "${library_root}/source/model/TrafficMirrorPortRange.cpp"
    "${library_root}/source/model/TrafficMirrorPortRangeRequest.cpp"
    "${library_root}/source/model/TrafficMirrorRuleAction.cpp"
    "${library_root}/source/model/TrafficMirrorSession.cpp"
    "${library_root}/source/model/TrafficMirrorSessionField.cpp"
    "${library_root}/source/model/TrafficMirrorTarget.cpp"
    "${library_root}/source/model/TrafficMirrorTargetType.cpp"
    "${library_root}/source/model/TrafficType.cpp"
    "${library_root}/source/model/TransitGateway.cpp"
    "${library_root}/source/model/TransitGatewayAssociation.cpp"
    "${library_root}/source/model/TransitGatewayAssociationState.cpp"
    "${library_root}/source/model/TransitGatewayAttachment.cpp"
    "${library_root}/source/model/TransitGatewayAttachmentAssociation.cpp"
    "${library_root}/source/model/TransitGatewayAttachmentPropagation.cpp"
    "${library_root}/source/model/TransitGatewayAttachmentResourceType.cpp"
    "${library_root}/source/model/TransitGatewayAttachmentState.cpp"
    "${library_root}/source/model/TransitGatewayOptions.cpp"
    "${library_root}/source/model/TransitGatewayPropagation.cpp"
    "${library_root}/source/model/TransitGatewayPropagationState.cpp"
    "${library_root}/source/model/TransitGatewayRequestOptions.cpp"
    "${library_root}/source/model/TransitGatewayRoute.cpp"
    "${library_root}/source/model/TransitGatewayRouteAttachment.cpp"
    "${library_root}/source/model/TransitGatewayRouteState.cpp"
    "${library_root}/source/model/TransitGatewayRouteTable.cpp"
    "${library_root}/source/model/TransitGatewayRouteTableAssociation.cpp"
    "${library_root}/source/model/TransitGatewayRouteTablePropagation.cpp"
    "${library_root}/source/model/TransitGatewayRouteTableState.cpp"
    "${library_root}/source/model/TransitGatewayRouteType.cpp"
    "${library_root}/source/model/TransitGatewayState.cpp"
    "${library_root}/source/model/TransitGatewayVpcAttachment.cpp"
    "${library_root}/source/model/TransitGatewayVpcAttachmentOptions.cpp"
    "${library_root}/source/model/TransportProtocol.cpp"
    "${library_root}/source/model/TunnelOption.cpp"
    "${library_root}/source/model/UnassignIpv6AddressesRequest.cpp"
    "${library_root}/source/model/UnassignIpv6AddressesResponse.cpp"
    "${library_root}/source/model/UnassignPrivateIpAddressesRequest.cpp"
    "${library_root}/source/model/UnmonitorInstancesRequest.cpp"
    "${library_root}/source/model/UnmonitorInstancesResponse.cpp"
    "${library_root}/source/model/UnsuccessfulInstanceCreditSpecificationErrorCode.cpp"
    "${library_root}/source/model/UnsuccessfulInstanceCreditSpecificationItem.cpp"
    "${library_root}/source/model/UnsuccessfulInstanceCreditSpecificationItemError.cpp"
    "${library_root}/source/model/UnsuccessfulItem.cpp"
    "${library_root}/source/model/UnsuccessfulItemError.cpp"
    "${library_root}/source/model/UpdateSecurityGroupRuleDescriptionsEgressRequest.cpp"
    "${library_root}/source/model/UpdateSecurityGroupRuleDescriptionsEgressResponse.cpp"
    "${library_root}/source/model/UpdateSecurityGroupRuleDescriptionsIngressRequest.cpp"
    "${library_root}/source/model/UpdateSecurityGroupRuleDescriptionsIngressResponse.cpp"
    "${library_root}/source/model/UserBucket.cpp"
    "${library_root}/source/model/UserBucketDetails.cpp"
    "${library_root}/source/model/UserData.cpp"
    "${library_root}/source/model/UserIdGroupPair.cpp"
    "${library_root}/source/model/VgwTelemetry.cpp"
    "${library_root}/source/model/VirtualizationType.cpp"
    "${library_root}/source/model/Volume.cpp"
    "${library_root}/source/model/VolumeAttachment.cpp"
    "${library_root}/source/model/VolumeAttachmentState.cpp"
    "${library_root}/source/model/VolumeAttributeName.cpp"
    "${library_root}/source/model/VolumeDetail.cpp"
    "${library_root}/source/model/VolumeModification.cpp"
    "${library_root}/source/model/VolumeModificationState.cpp"
    "${library_root}/source/model/VolumeState.cpp"
    "${library_root}/source/model/VolumeStatusAction.cpp"
    "${library_root}/source/model/VolumeStatusDetails.cpp"
    "${library_root}/source/model/VolumeStatusEvent.cpp"
    "${library_root}/source/model/VolumeStatusInfo.cpp"
    "${library_root}/source/model/VolumeStatusInfoStatus.cpp"
    "${library_root}/source/model/VolumeStatusItem.cpp"
    "${library_root}/source/model/VolumeStatusName.cpp"
    "${library_root}/source/model/VolumeType.cpp"
    "${library_root}/source/model/Vpc.cpp"
    "${library_root}/source/model/VpcAttachment.cpp"
    "${library_root}/source/model/VpcAttributeName.cpp"
    "${library_root}/source/model/VpcCidrBlockAssociation.cpp"
    "${library_root}/source/model/VpcCidrBlockState.cpp"
    "${library_root}/source/model/VpcCidrBlockStateCode.cpp"
    "${library_root}/source/model/VpcClassicLink.cpp"
    "${library_root}/source/model/VpcEndpoint.cpp"
    "${library_root}/source/model/VpcEndpointConnection.cpp"
    "${library_root}/source/model/VpcEndpointType.cpp"
    "${library_root}/source/model/VpcIpv6CidrBlockAssociation.cpp"
    "${library_root}/source/model/VpcPeeringConnection.cpp"
    "${library_root}/source/model/VpcPeeringConnectionOptionsDescription.cpp"
    "${library_root}/source/model/VpcPeeringConnectionStateReason.cpp"
    "${library_root}/source/model/VpcPeeringConnectionStateReasonCode.cpp"
    "${library_root}/source/model/VpcPeeringConnectionVpcInfo.cpp"
    "${library_root}/source/model/VpcState.cpp"
    "${library_root}/source/model/VpcTenancy.cpp"
    "${library_root}/source/model/VpnConnection.cpp"
    "${library_root}/source/model/VpnConnectionOptions.cpp"
    "${library_root}/source/model/VpnConnectionOptionsSpecification.cpp"
    "${library_root}/source/model/VpnEcmpSupportValue.cpp"
    "${library_root}/source/model/VpnGateway.cpp"
    "${library_root}/source/model/VpnProtocol.cpp"
    "${library_root}/source/model/VpnState.cpp"
    "${library_root}/source/model/VpnStaticRoute.cpp"
    "${library_root}/source/model/VpnStaticRouteSource.cpp"
    "${library_root}/source/model/VpnTunnelOptionsSpecification.cpp"
    "${library_root}/source/model/WithdrawByoipCidrRequest.cpp"
    "${library_root}/source/model/WithdrawByoipCidrResponse.cpp"
  )

  target_include_directories(thirdparty_aws_ec2 SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_ec2 PUBLIC
    thirdparty_aws_core
  )

  target_link_libraries(thirdparty_aws_ec2 PRIVATE
    thirdparty_cxx_settings
  )
endfunction()

function(generateAwsSts)
  set(library_root "${AWS_SDK_CPP_ROOT}/aws-cpp-sdk-sts")

  add_library(thirdparty_aws_sts STATIC EXCLUDE_FROM_ALL
    "${library_root}/source/STSClient.cpp"
    "${library_root}/source/STSEndpoint.cpp"
    "${library_root}/source/STSErrorMarshaller.cpp"
    "${library_root}/source/STSErrors.cpp"
    "${library_root}/source/model/AssumeRoleRequest.cpp"
    "${library_root}/source/model/AssumeRoleResult.cpp"
    "${library_root}/source/model/AssumeRoleWithSAMLRequest.cpp"
    "${library_root}/source/model/AssumeRoleWithSAMLResult.cpp"
    "${library_root}/source/model/AssumeRoleWithWebIdentityRequest.cpp"
    "${library_root}/source/model/AssumeRoleWithWebIdentityResult.cpp"
    "${library_root}/source/model/AssumedRoleUser.cpp"
    "${library_root}/source/model/Credentials.cpp"
    "${library_root}/source/model/DecodeAuthorizationMessageRequest.cpp"
    "${library_root}/source/model/DecodeAuthorizationMessageResult.cpp"
    "${library_root}/source/model/FederatedUser.cpp"
    "${library_root}/source/model/GetAccessKeyInfoRequest.cpp"
    "${library_root}/source/model/GetAccessKeyInfoResult.cpp"
    "${library_root}/source/model/GetCallerIdentityRequest.cpp"
    "${library_root}/source/model/GetCallerIdentityResult.cpp"
    "${library_root}/source/model/GetFederationTokenRequest.cpp"
    "${library_root}/source/model/GetFederationTokenResult.cpp"
    "${library_root}/source/model/GetSessionTokenRequest.cpp"
    "${library_root}/source/model/GetSessionTokenResult.cpp"
    "${library_root}/source/model/PolicyDescriptorType.cpp"
    "${library_root}/source/model/ResponseMetadata.cpp"
  )

  target_include_directories(thirdparty_aws_sts SYSTEM PUBLIC
    "${library_root}/include"
  )

  target_link_libraries(thirdparty_aws_sts PUBLIC
    thirdparty_aws_core
  )

  target_link_libraries(thirdparty_aws_sts PRIVATE
    thirdparty_cxx_settings
  )
endfunction()

awsSdkCppMain()
